gpt4 book ai didi

javascript - 如何使用 jQuery 获取包含在 td 中的 HTML?

转载 作者:太空狗 更新时间:2023-10-29 13:50:56 25 4
gpt4 key购买 nike

我有一个包含 HTML 的表格单元格,例如,

    <td id="test">something&trade; is here</td>

我有一个输入字段,我想用它来编辑表格单元格内的 HTML,例如,

    <input type="text" id="editor" value="">

我需要得到字符串 something&trade; is here 从表格单元格中取出,以便我可以将其放入 <input>用于编辑。我试过了

    var txt=$("#test").text();
var htm=$("#test").html();

它们都返回“something™ is here”而不是原始 HTML - 我在设置两个测试值后立即在 Firebug 中有一个断点,这就是我所看到的。

阅读jQuery documentation ,我真的很期待 .html()方法返回我正在寻找的原始 HTML,但实际情况并非如此。

我知道 Javascript 没有像 PHP 的 htmlspecialchars() 这样的编码器功能,我必须解决这个问题,但是所有这四个操作都会产生相同的结果:

    var enchtm=$("<div/>").text(htm).html();
var enctxt=$("<div/>").text(txt).html();
var htmenc=$("<div/>").html(htm).text();
var txtenc=$("<div/>").html(txt).text();

每个排列都会在编辑字段中放置“something™ is here”,而不是原始 HTML。

如何获取字符串 something&trade; is here 从表格单元格到 <input>这样我就可以编辑它了吗?

最佳答案

它不存在。实体在生成 DOM 之前被解码,.html()(实际上只是 innerHTML 属性的包装器)不会重新编码它,因为没有这样做的原因 -- something™something™ 一样有效地表示 HTML。浏览器不提供 HTML 的“完全原始”(预字符解码) View 。

建议:提供初始值作为输入的value属性,而不是将其作为div的内容,这样数据的流动总是单向的,这个问题就不会出现'不会发生。

关于javascript - 如何使用 jQuery 获取包含在 td 中的 HTML?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47131984/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com