欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

Jquery中empty()和remove()的区别

程序员文章站 2022-06-07 09:56:31
...

相同点:两个方法都是Jquery中用来删除DOM节点的。

区别:

empty()是移除指定标签内的所有节点,包括文本节点。

remove()是移除指定的当前节点。

如,对如下DOM树:

<body>
    <div>this is header<div>
        this is main.
    <div>this is footer</div>
</body>

执行$(“div”).empty()后结果为:

<body>
    <div><div>
        this is main.
    <div></div>
</body>

div里的内容被清空了,但是节点还留住DOM树上。

执行$(“div”).remove()后的结果为:

<body>
    this is main.
</body>

完全删除了div节点。

还有一点,那就是remove()支持一个参数:remove([expr]),其中expr为可选项,可填可不填,用来进一步筛选要删除的目标。如:

<body>
    <div class="hello">Hello</div>
         how are 
    <div>you?</div>
</body>

执行$(“div”).remove(“.hello”)后结果为:

<body>
     how are 
    <div>you?</div>
</body>