如何在使用jQuery的.text()方法时保留换行符?

22 浏览
0 Comments

如何在使用jQuery的.text()方法时保留换行符?

我正在尝试实现打字机效果,我的内容由许多HTML实体组成。使用.html()的问题在于它会逐个字母地输出,它会先输出&,然后是l,然后是t,然后是;,最后会变成<

HTML

<!DOCTYPE html> <!--[if lt IE 7]> <html class="no-js lt-ie9 lt-ie8 lt-ie7"> <![endif]--> <!--[if IE 7]> <html class="no-js lt-ie9 lt-ie8"> <![endif]--> <!--[if IE 8]> <html class="no-js lt-ie9"> <![endif]--> <!--[if lt IE 9]> <html class="no-js lt-ie9"> <![endif]-->

|

CSS

#src {
    display: none;
}

jQuery

(function(){
    var srcText = $("#src").html();
        i = 0;
        result = srcText[i];
    setInterval(function() {
        if(i == srcText.length-1) {
            clearInterval(this);
            return;
        };
        i++;
        result += srcText[i].replace("\n", "");
        $("#target").html(result);
    }, 150); // 每个字符和下一个字符之间的时间间隔,以毫秒为单位。
})();

你可以在这里看到示例

http://jsfiddle.net/j9KF5/9/

但是如果我使用.text(),那么我会丢失所有的换行符。

最终,我要如何修复实体问题或换行问题?

0