[英]How to change font style for specific text instead of whole text in textarea
我想做一个类似在线 txt 编辑器的东西。 问题是当我尝试应用document.getElementById("textArea").style.fontWeight="bold";
,整个文本区域变为粗体。我只想要文本,而粗体切换为粗体,我猜想像微软字。 问题:如何更改 textarea 中特定文本的字体样式。 我是初学者,所以我只知道如何使用 javascript 和 jquery。
HTML
<button onclick="Bold()"><h3>Bold</h3></button>
<textarea id="textArea" class="Textarea" placeholder="Click to Type" cols="50"></textarea>
Javascript
function Bold(){
if (document.getElementById("textArea").style.fontWeight=="bold"){
document.getElementById("textArea").style.fontWeight=null;
}
else{
document.getElementById("textArea").style.fontWeight="bold";
}
}
您不能使用textarea
字段执行此操作,因为您只能在 HTML 元素中设置 styles 。 您必须使用具有contenteditable
属性的元素并将样式设置为 HTML 格式,以按照您想要的方式自定义输入样式。
例子:
<div id="textarea" contenteditable="true">
<b style="color: red">My bold text in red.</b> =)
</div>
您可以使用 JavaScript 从contenteditable
字段中获取值:
<script type="text/javascript">
var textarea = document.getElementById("textarea"); // contenteditable element
var textarea_value = textarea.innerHTML; // contenteditable element value
// getting specific text, here we are getting the bold text
var bold_element = textarea.querySelectorAll('b')[0].innerHTML;
</script>
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.