jQuery的replaceWith()和html()有什么区别?

发布于 2024-07-16 09:30:58 字数 88 浏览 6 评论 0原文

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

What's the difference between jQuery's replaceWith() and html() functions when HTML is being passed in as the parameter?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(5

烟燃烟灭 2024-07-23 09:30:58

采取以下 HTML 代码:

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

执行:

$('#mydiv').html('Aloha World');

将导致:

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

执行:

$('#mydiv').replaceWith('Aloha World');

将导致:

Aloha World

所以 html() 替换元素的内容,而 replaceWith() 替换实际元素。

Take this HTML code:

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

Doing:

$('#mydiv').html('Aloha World');

Will result in:

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

Doing:

$('#mydiv').replaceWith('Aloha World');

Will result in:

Aloha World

So html() replaces the contents of the element, while replaceWith() replaces the actual element.

≈。彩虹 2024-07-23 09:30:58

ReplaceWith() 将替换当前元素,而 html() 只是替换内容。

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

Peter 的示例:http://jsbin.com/ofirip/2

replaceWith() will replace the current element, whereas html() simply replaces the contents.

Note that the replaceWith() will not actually delete the element but simply remove it from the DOM and return it to you in the collection.

An example for Peter: http://jsbin.com/ofirip/2

葬﹪忆之殇 2024-07-23 09:30:58

有两种使用 html() 和 ReplaceWith() Jquery 函数的方法。

<div id="test_id">
   <p>My Content</p>
</div>

1.) html() vs ReplaceWith()

var html = $('#test_id p').html(); 将返回“我的内容”

但是
var ReplaceWith = $('#test_id p').replaceWith(); 将返回整个 DOM 对象

我的内容


2.) html('value') vs ReplaceWith('value')

$('#test_id p').html('

H1 content

'); 将给出你输出以下内容。

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

但是
$('#test_id p').replaceWith('

H1 content

'); 将为您提供以下输出。

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

There are two ways of using html() and replaceWith() Jquery functions.

<div id="test_id">
   <p>My Content</p>
</div>

1.) html() vs replaceWith()

var html = $('#test_id p').html(); will return the "My Content"

But the
var replaceWith = $('#test_id p').replaceWith(); will return the whole DOM object of
<p>My Content</p>.


2.) html('value') vs replaceWith('value')

$('#test_id p').html('<h1>H1 content</h1>'); will give you the following out put.

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

But the
$('#test_id p').replaceWith('<h1>H1 content</h1>'); will give you the following out put.

<div id="test_id">
      <h1>H1 content</h1>
</div>
笑叹一世浮沉 2024-07-23 09:30:58

老问题但这可能对某人有帮助。

如果您的 HTML 无效,这些功能在 Internet Explorer 和 Chrome / Firefox 中的运行方式会有所不同。

清理你的 HTML,它们就会按照文档的方式工作。

(不关闭我的 让我损失了一个晚上!)

Old question but this may help someone.

There are some differences in how these functions operate in Internet Explorer and Chrome / Firefox IF your HTML is not valid.

Clean up your HTML and they'll work as documented.

(Not closing my </center> cost me my evening!)

﹂绝世的画 2024-07-23 09:30:58

了解也可以使用 .empty().append() 代替 .html() 也可能很有用。 在下面显示的基准测试中,这会更快,但前提是您需要多次调用此函数。

请参阅: https://jsperf.com/jquery-html-vs-empty-附加测试

It may also be useful to know that .empty().append() can also be used instead of .html(). In the benchmark shown below this is faster but only if you need to call this function many times.

See: https://jsperf.com/jquery-html-vs-empty-append-test

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文