关于jquery:删除子元素

Remove child element

如何删除foo label以及div子元素和br子元素?

1
2
3
<label>qux</label>
<label>foo</label>text<br /><br />
<label>bar</label>

我当前的临时方法:

1
2
$('label:contains("foo")').next().remove();
$('label:contains("foo")').remove();

我该如何改进呢?


非常简单:

$(element).children().remove();

很容易。。。


就在这里。

试试这个:

4

用小提琴结账

还有一个更好的方法是使用.nextUntil()

1
$('label:contains("qux")').nextUntil($('label:contains(bar)'),$('label, br')).remove();

.nextUntil()做小提琴


使用.html()方法并将其设置为空。

检查此项以供参考


1
2
3
4
5
6
if($("label").text()=='foo'){
   $(this).next('div').remove();
   $(this).closest('br').remove();

   // I've used next and closest methods to remove..you can try with others..
}

试试这个:

1
2
3
4
5
6
7
8
$('label').each(function(){
    var self = $(this);
    if(self.text() == 'foo'){
          self.next('div').remove();
          self.parent().find('br').remove(); //else use two times next() to remove two br tags.
          self.remove();
    }
});

请提及.parent()中的父元素,像这样:

1
parent('div')  //if you have a parent container as div.

我看不出有什么好办法可以改善对foo-的移除。您可以通过使用

1
$('label:contains("foo") + div').remove();

CSS相邻的同级选择器。