什么';jQuery和x27之间的区别是什么;替换为()和html()?

什么';jQuery和x27之间的区别是什么;替换为()和html()?,jquery,Jquery,当html作为参数传入时,jQuery的replaceWith()和html()函数有什么区别?replaceWith()将替换当前元素,而html()只替换内容 请注意,replaceWith()实际上不会删除元素,而只是将其从DOM中删除并在集合中返回给您 Peter的示例:以以下HTML代码为例: <div id="mydiv">Hello World</div> 将导致: <div id="mydiv">Aloha World</div>

当html作为参数传入时,jQuery的replaceWith()和html()函数有什么区别?

replaceWith()将替换当前元素,而html()只替换内容

请注意,replaceWith()实际上不会删除元素,而只是将其从DOM中删除并在集合中返回给您

Peter的示例:

以以下HTML代码为例:

<div id="mydiv">Hello World</div>
将导致:

<div id="mydiv">Aloha World</div>
Aloha World
将导致:

<div id="mydiv">Aloha World</div>
Aloha World

因此,替换元素的内容,同时替换实际元素。

旧问题,但这可能会对某些人有所帮助

如果您的HTML无效,这些函数在Internet Explorer和Chrome/Firefox中的操作方式会有所不同

清理你的HTML,它们就会像文档一样工作


(不关闭我的
花了我一晚上的时间!)

有两种方法可以使用html()和replaceWith()Jquery函数

<div id="test_id">
   <p>My Content</p>
</div>
但是
$('test#id p')。替换为('H1 content')将为您提供以下输出

<div id="test_id">
  <p><h1>H1 content</h1></p>
</div>
<div id="test_id">
      <h1>H1 content</h1>
</div>

H1含量

知道也可以使用
.empty().append()
来代替
.html()
,这可能会很有用。在下面所示的基准测试中,这会更快,但仅当您需要多次调用此函数时


请参阅:

+1将replaceWith()实际上不会删除该元素写下来非常有用。我还没弄明白!这是真的,它仍然存在。它不在DOM中,所以您不会看到它,但它仍然是一段有效的HTML。证据:是的,这是真的。谢谢你举这个例子。在我看来,从DOM(加上垃圾收集)中删除它本质上是删除。但你在技术上是正确的。我将删除
-1
,希望这对所有人都有帮助。:)感谢您的提醒,replaceWith()返回旧元素只是让我在调试中遇到了一些挫折:(是的,我已经为此奋斗了至少半个小时了,我刚刚意识到函数返回被替换的元素,我希望它返回新的元素,代码如下:
var$form=$target.closest('tr')。replaceWith(html)
事实证明,
$form
包含替换前的元素。这就是你不应该再使用center的原因。:p这帮了我的忙!我正试图使用jquery动态更改标签的文本,这个线程肯定帮了我的忙。谢谢!很好的解释!