easy

DocsVersion : 1.0.0

remove( [ selector, keepData ] )

原型方法Define in : node.js

将匹配元素或匹配元素中指定的后代元素从 DOM 树中删除,如果需要,还可以删除该元素和其子元素的存储在 E.cache 中的数据和卸载使用 E.prototype.on 绑定的事件。如果不想删除该元素,只想删除其子元素,请使用 empty

参数
  • selector
    String
    可选

    用于删除匹配元素的后代元素的选择器,支持基本选择器、属性选择器、伪类选择器。

  • keepData
    Boolean
    可选

    是否删除被删除元素及其子元素的存储在 E.cache 中的数据和卸载使用 E.prototype.on 绑定的事件。从 DOM 树中删除匹配元素,但是在 easyJS Object 还没有删除,还可以做很多操作,如果只是想对某元素进行大量离线操作( 脱离了 DOM 树的操作可以减少 repaint、reflow ),在操作之后再将元素插回到原 DOM 树中,可以不用删除数据和事件。如果需要传该参数,又不需传 selector ,可以将 selector 设置成 null,默认该参数为 false。

返回值
  • easyJS Object

    匹配元素。

例子1

删除 ul 元素,并卸载事件。

  • test1
  • test2
  • test3
  • test4
<ul id="demoList1">
    <li class="item1">test1</li>
    <li class="item2">test2</li>
    <li class="item3">test3</li>
    <li class="item4">test4</li>
</ul>
E( '#demoList1 .item1' ).on( 'click', function(){
    alert( this.innerHTML );
});

E( '#demoList1' ).remove();

运行

例子2

删除 ul 元素,但不卸载事件,给该元素添加一个背景颜色后再将其插入到原位置。

  • test1
  • test2
  • test3
  • test4
<ul id="demoList2">
    <li class="item1">test1</li>
    <li class="item2">test2</li>
    <li class="item3">test3</li>
    <li class="item4">test4</li>
</ul>
E( '#demoList2 .item1' ).on( 'click', function(){
    alert( this.innerHTML );
});

var parent = E( '#demoList2' ).parent();
E( '#demoList2' ).remove( null, true )
    .css( 'backgroundColor', '#ccc' )
    .appendTo( parent );

运行