如何在使用jQuery的.text()方法时保留换行符?
如何在使用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); // 每个字符和下一个字符之间的时间间隔,以毫秒为单位。 })();
你可以在这里看到示例
但是如果我使用.text(),那么我会丢失所有的换行符。
最终,我要如何修复实体问题或换行问题?