我想知道如何在单击按钮后使用 更改所选文本的字体样式。window.getSelection()
例如,假设我们有以下短语:
你好世界!
如果我只是从中选择字符串ell
,然后单击一个按钮,它将返回(在这种情况下,例如,粗体类型):
世界你好!
那么,我该怎么做呢?我的主要问题是:我应该转换什么变量类型来改变字体样式window.getSelection()
,因为它返回一个对象,如果我这样做了.toString()
,它不会有太大帮助。
我想知道如何在单击按钮后使用 更改所选文本的字体样式。window.getSelection()
例如,假设我们有以下短语:
你好世界!
如果我只是从中选择字符串ell
,然后单击一个按钮,它将返回(在这种情况下,例如,粗体类型):
世界你好!
那么,我该怎么做呢?我的主要问题是:我应该转换什么变量类型来改变字体样式window.getSelection()
,因为它返回一个对象,如果我这样做了.toString()
,它不会有太大帮助。
function surroundSelection() {
var span = document.createElement("span");
span.style.fontWeight = "bold";
span.style.color = "black";
if (window.getSelection) {
var sel = window.getSelection();
if (sel.rangeCount) {
var range = sel.getRangeAt(0).cloneRange();
range.surroundContents(span);
sel.removeAllRanges();
sel.addRange(range);
}
}
}
<input type="button" onclick="surroundSelection()" value="Surround">
<div contenteditable="true">Hello World</div>
您正在寻找将突出显示的文本包围到您添加新样式的新节点中。看看这个答案如何用元素包裹/环绕突出显示的文本