小编Man*_*dai的帖子

将jquery empty()方法清除通过非jquery方法创建的事件侦听器

我有一个包含很多子元素的元素.我想清除这个元素的内容并用新结构替换它.

子元素被赋予各种事件侦听器,并不是所有这些侦听器都是通过jquery绑定方法创建的.

如果我使用jquery的空方法来清除元素,它会删除所有的事件监听器还是只清除通过jquery bind方法创建的监听器?

jquery memory-leaks

11
推荐指数
2
解决办法
9322
查看次数

如果最后一个单词包含'&'(&符号),IE innerHTML将填充句子

我正在尝试使用ID"myElement"填充DOM元素.我填充的内容是文本和HTML元素的混合.

假设以下是我希望在DOM元素中填充的内容.

var x = "<b>Success</b> is a matter of hard work &luck";
Run Code Online (Sandbox Code Playgroud)

我尝试使用innerHTML如下,

document.getElementById("myElement").innerHTML=x;

这导致我的句子中的最后一个字被砍掉了.显然,问题是由于最后一个单词中出现'&'字符.我玩了'&'和innerHTML,以下是我的观察.

  1. 如果内容的最后一个单词少于10个字符,并且如果其中包含"&"字符,则innerHTML会删除"&"处的句子.
  2. 在Firefox中不会发生此问题.
  3. 如果我使用innerText,那么最后一个单词就是机智,但是作为内容一部分的所有HTML标签都变成了纯文本.

我尝试通过jQuery的#html方法填充,

 $("#myElement").html(x);
Run Code Online (Sandbox Code Playgroud)

这种方法解决了IE中的问题,但没有解决Chrome中的问题.

如何在不包含所有浏览器的情况下插入包含"&"的最后一个单词的HTML内容?

更新:1.我尝试html编码我试图插入DOM的内容.当我对内容进行编码时,作为内容一部分的html标记变为纯字符串.

对于上面提到的内容,我希望结果呈现为,

成功是努力和运气的问题

但是当我编码我在渲染页面中实际获得的内容时,

<b>Success</b> is a matter of hard work &luck

javascript jquery google-chrome innerhtml

3
推荐指数
1
解决办法
2344
查看次数