使用jquery .text()方法向文本字符串添加新行

时间:2011-07-05 01:08:20

标签: javascript jquery html

当我这样做时:

function testtext()
{
    var text = "test line 1\n\
    test line 2"
    ;
    $("#divtext").text(text);   
}

这一切都出现在一条线上。当我这样做时:

function testtext()
{
    var text = "test line 1\n\
    test line 2"
    ;
    document.getElementById("divtext").innerText = text;    
}

工作正常......

3 个答案:

答案 0 :(得分:2)

使用$("#divtext").html(text);

而不是$("#divtext").text(text);

答案 1 :(得分:0)

如果您想知道原因,那是因为jQuery creates a new text node使用document.createTextNode,将您的字符串作为参数传递。

这显然与innerText的行为不同,但它似乎与设置.textContent和通过.nodeValue.data明确设置textNode的值相同。

答案 2 :(得分:0)

text()方法将执行HTML转义。 API页面上有一些解决方法,但是text()方法可能不适合您想要做的事情?

http://api.jquery.com/text/