我正在使用以下代码向#mydiv
添加文字:
$('#mydiv').contents().filter(function() {
return this.nodeType == 3
}).each(function(){
this.textContent = this.textContent.replace('', 'line 1 line 2');
});
但是我希望文本line 2
使用换行符在下一行。我在文字\n
和line 1
之间添加了line 2
,但这不起作用。
此外,我想在文本中使用一些符号(请参阅此处),但如果我将其添加到文本中,则无法识别:
$('#mydiv').contents().filter(function() {
return this.nodeType == 3
}).each(function(){
this.textContent = this.textContent.replace('', '✂ line 1 ✂ line 2');
});
简单的CSS ✂
确实有效。
答案 0 :(得分:2)
问题是因为您正在设置节点的textContent
。这意味着对任何HTML或字符实体进行编码。相反,您需要设置父节点的innerHTML
:
$('#mydiv').contents().filter(function () {
return this.nodeType == 3
}).each(function () {
this.parentNode.innerHTML = this.textContent.replace('', '✂ line 1 <br /> ✂ line 2');
});