如何使用jquery设置pre标签的文本

时间:2011-02-11 19:11:58

标签: jquery html pre

我正在使用pre标签来保存一些带有回车符的原始格式化文本。首次显示页面时,它看起来很好。后来,我想刷新前期数据。我已经尝试了两种方法来使用jquery,一种使用.html(),另一种使用.text()。两个sorta工作,但.html抛出回车和.text双重空格回车!我也试过.val()但是根本没用。这是代码(当然我一次只使用一个jquery行。)

<pre id="QComment">Initial Text</pre>

以后的某个时间,

$('#QComment').text(databack);   // or
$('#QComment').html(databack);

4 个答案:

答案 0 :(得分:15)

这是基于* nix的系统和Windows系统之间的常见问题。有人为jQuery newlinecharacter

编写了一个简单的换行检测插件

所以,你能做的是:

$('#QComment').text(databack.replace(/\r\n/g,EOL));

其中,您所做的是将所有窗口样式换行符替换为适合查看数据的系统的换行符。

答案 1 :(得分:4)

对我来说就像一个魅力: fiddle demo

也许你有一些编码问题?一个例子可以帮助。

.val()设置value标记上的pre属性,这当然无效。)

答案 2 :(得分:1)

我建议不要在这个实例中使用jQuery,只需使用普通的旧javascript设置对象:

document.getElementById('QComment').innerHTML = yourHTML;

没有理由将jQuery开销添加到像这样简单的事情上。如果你想在多个元素上使用它,jQuery很好:

$('#selector, .selector, [selector]').each(function(element, index){
  element.innerHTML = yourHTML;
});

答案 3 :(得分:0)

尝试使用标准DOM方法,也许jQuery自己做了一些事情:

$('#QComment')[0].innerHTML = html;