【问题标题】:Anyway to prevent innerHTML/$.html from converting escaped characters?无论如何要防止 innerHTML/$.html 转换转义字符?
【发布时间】:2014-09-05 20:16:31
【问题描述】:

潜伏已久,第一次问。

我想知道是否有办法让 innerHTML/jquery .html 不转换转义字符。

更具体地说...我正在尝试执行以下操作:

$("#myid").html('<a href="javascript:;" onclick="myfunction(\''+a_lot_of_text+'\');" </a>')

现在,a_lot_of_text 可能已经转义了引号、双引号等......但是,$.html 将 &amp;quot; 转换为 ",这当然会搞砸代码。是否有一种“合理”的方式可以将我传递的确切字符串插入到 id 中?

【问题讨论】:

  • jQuery + onclick 属性 = 你做错了
  • a_lot_of_text 例如,某人的简历可能包含'、"或所有其他类型的字符。对于那些评论 jQuery + onClick 的人来说是错误的等。页面打开时 id 不存在首先创建(或可能不存在),这就是我使用 onclick 的原因。

标签: jquery escaping innerhtml


【解决方案1】:

是的。您可以改用innerText 或jQuery 的text() 方法。

$('elem').text('&quot;');

JSFiddle demo.

此外,由于您使用的是 jQuery,因此无需使用内联 JavaScript。用 jQuery 替换您的 onclick 处理程序:

$('#myid').on('click', function() {
    // ...
});

【讨论】:

  • 我不认为这有几个原因。 (1) text 将转义我插入的所有其他代码(我不需要插入)。 92) 使用 onclick 处理程序将不起作用,因为在我的情况下,id 是动态生成的。
猜你喜欢
  • 1970-01-01
  • 2021-09-10
  • 1970-01-01
  • 2011-03-18
  • 2014-09-21
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-01-13
相关资源
最近更新 更多