好吧,这就是问题所在,我有一个“pre”标签,它使用来自 php 的 htmlentities() 编码的 html,该标签在网站上正确显示。
但是后来我想重新解码它以将其放入“textarea”中以实时使用。(例如stackoverflow)。然后这个修改的文本被编码(一次又一次)在带有新信息的“pre”标签中。
我试过了,但它似乎不起作用,因为 textarea 总是空的。这是代码:
<script>
var t0=document.getElementById("textarea0"),
x0=document.getElementById('pre0');
t0.value=x0.innerHTML().html().text(); //dec
t0.onkeyup=function(){
x0.innerHTML=t0>.value.text().html(); //enc};
</script>
我真的不明白这段代码是如何工作的,我知道这是错误的,因为 jquery 离我很远,我在编码之前看到了与此相关的其他类似问题,$('<div/>')
但我认为这不是问题所在。(我再说一遍我对此视而不见)
(对不起,如果我犯了太多错误,我不是你可以猜到的英语作家,而且我没有使用翻译)
已编辑
第一部分现在可以工作了,Textarea 充满了 PRE 的内容,并被解码(使用<>
和那种东西)以供实际工作。
但我不能把它还给 PRE,给他们带来新的变化。
这是现在的实际代码:
var t0=$("textarea#textareaName0"),
x0=$('pre#xmpName0');
t0.val(x0.text()); //dec
t0.keyup(function()
{
x0.innerHTML=t0.val(); //enc
});
有什么解决办法吗?(太感谢了)
最终解决方案
为了更新内容,工作的代码是:
t0.keyup(function()
{
x0.text(t0.val()); //enc
});
正如你所说,jquery 可以在不被解释的情况下在屏幕上打印 HTML,所以我不需要编码来避免它。太感谢了。