添加和调整文本和符号

时间:2015-11-25 10:05:01

标签: javascript jquery

我正在使用以下代码向#mydiv添加文字:

$('#mydiv').contents().filter(function() { 
    return this.nodeType == 3 
}).each(function(){ 
    this.textContent = this.textContent.replace('', 'line 1 line 2'); 
});

但是我希望文本line 2使用换行符在下一行。我在文字\nline 1之间添加了line 2,但这不起作用。

此外,我想在文本中使用一些符号(请参阅此处),但如果我将其添加到文本中,则无法识别:

$('#mydiv').contents().filter(function() { 
    return this.nodeType == 3 
}).each(function(){ 
    this.textContent = this.textContent.replace('', '&#9986 line 1 &#9986 line 2'); 
});

JSFiddle example

简单的CSS &#9986确实有效。

1 个答案:

答案 0 :(得分:2)

问题是因为您正在设置节点的textContent。这意味着对任何HTML或字符实体进行编码。相反,您需要设置父节点的innerHTML

$('#mydiv').contents().filter(function () {
    return this.nodeType == 3
}).each(function () {
    this.parentNode.innerHTML = this.textContent.replace('', '&#9986 line 1 <br /> &#9986 line 2');
});

Example fiddle