当HTML作为参数传入时,jQuery的replaceWith()和html()函数有什么区别?
答案 0 :(得分:273)
获取此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()替换了实际的元素。
答案 1 :(得分:31)
replaceWith()将替换当前元素,而html()只是替换内容。
请注意,replaceWith()实际上不会删除元素,只是将其从DOM中删除并将其返回给集合中。
彼得的一个例子:http://jsbin.com/ofirip/2
答案 2 :(得分:3)
有两种方法可以使用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对象
<p>My Content</p>
。
2。)html('value')vs replaceWith('value')
$('#test_id p').html('<h1>H1 content</h1>');
会给你以下输出。
<div id="test_id">
<p><h1>H1 content</h1></p>
</div>
但是
$('#test_id p').replaceWith('<h1>H1 content</h1>');
将为您提供以下内容。
<div id="test_id">
<h1>H1 content</h1>
</div>
答案 3 :(得分:2)
老问题,但这可能对某人有所帮助。
如果您的HTML无效,这些功能在Internet Explorer和Chrome / Firefox中的运行方式存在一些差异。
清理HTML,它们将按照文档记录的方式工作。
(我的晚上没有关闭我的</center>
花费我!)
答案 4 :(得分:1)
知道null
也可以用来代替getSupportActionBar
也许有用。在下面显示的基准测试中,这个速度更快,但只有在需要多次调用此函数时才会更快。