将元素放在其他元素的内部HTML中
Put element inside innerHTML of other element
我正在用JavaScript编写一个小编辑器。我要问的是,当我单击"粗体"按钮时,我像这样添加它:
function addBold() {
var el = selection().anchorNode.parentNode;
var str = el.innerHTML;
var offset = selection().getRangeAt(0).endOffset;
var start = str.substr(0,offset);
var end = str.substr(offset, str.length);
el.innerHTML = start + '<b> </b>' + end;
placeCaretAtNode(el.children[0]);
}
我需要使用 appendChild
附加 Bold 元素以保存该元素而不是:
el.innerHTML = start + 'HERE I NEED TO GET THIS ELEMENT' + end;
谢谢。
这是一个代码。 告诉我这是否有效
<!DOCTYPE html>
<html>
<head>
<script>
function bgchange() {
try{
var child = document.createElement("b");
child.innerHTML = "Test";
document.getElementById("dvPercentage").innerHTML = document.getElementById("dvPercentage").innerHTML + "Test"
document.getElementById("dvPercentage").appendChild(child);
document.getElementById("dvPercentage").innerHTML = document.getElementById("dvPercentage").innerHTML + "Test"
}catch(e){
alert(e);
}
};
</script>
<head>
<body onload="bgchange()" style="background-color:red">
<div id="dvPercentage" style="height: 80%">
</body>
</html>
所以不做el.innerHTML = start + '<b> </b>' + end;
你可以去el.appendChild(child)
.
请让我知道它是否有效
如果要切换粗体功能,可以执行以下代码:
document.execCommand('bold');
但是,如果您喜欢自己的方法,请尝试以下操作:
var bold;
while(el.firstChild) { // empty the el element
el.removeChild(el.firstChild);
}
el.appendChild(document.createTextNode(start));
bold = document.createElement('b');
bold.appendchild(document.createTextNode('bold string'));
el.appendChild(bold);
el.appendChild(document.createTextNode(end));
相关文章:
- 如何从data_response获取父元素内部的html
- 单击子元素内部时如何删除该元素
- 获取元素内部的缩写
- Jedible-抑制元素内部的点击
- check元素内部有一些使用jquery的元素
- javascript正则表达式,用于编辑元素内部的css样式属性
- Javascript 将类添加到元素内部的
- 如果在元素内部开始点击并按住,请将注意力集中在元素上
- 在元素内部创建新元素
- 如何在HTML中从元素内部获取值,并在JS中将其设置为变量
- 在IE8中创建元素内部HTML错误
- Javascript - 获取子元素内部 在点击时
- Jquery 选择器元素内部的其他
- 是否可以将元素内部的文本显示在 ::在 css 之前
- 如何使用单击方法在元素内部添加单击方法
- JQuery 查找子元素内部文本并替换为 IMG HTML
- SVG:在子元素内部绘制
- 如何单独检索's在父元素内部的子元素之前和之后
- 没有调用li元素内部的scope函数
- Jquery-修复切换元素内部的超链接