如何删除foo label
以及div
子元素和br
's?
<label>qux</label>
<label>foo</label><div id="block">text</div><br /><br />
<label>bar</label>
我目前的临时方法:
$('label:contains("foo")').next().remove();
$('label:contains("foo")').remove();
我该如何改进呢?
如何删除foo label
以及div
子元素和br
's?
<label>qux</label>
<label>foo</label><div id="block">text</div><br /><br />
<label>bar</label>
我目前的临时方法:
$('label:contains("foo")').next().remove();
$('label:contains("foo")').remove();
我该如何改进呢?
非常简单:
$(元素).children().remove();
太简单...
就did on what html you posted
在这里。
试试这个:
$('label:contains("foo")').remove(); // <-----------label contains foo removed
$('#block').remove(); //<---------------------------div with id 'block' removed
$('label:contains(qux)').nextAll('br').remove(); //<--finally all the br next to first label removed
甚至更好的.nextUntil()
:
$('label:contains("qux")').nextUntil($('label:contains(bar)'),$('label, br')).remove();
使用 .html() 方法并将其设置为 null。
检查此以供参考
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..
}
我没有看到改善 foo 删除的好方法<label>
。div
您可以通过使用在语法上改进对 的删除
$('label:contains("foo") + div').remove();
CSS 相邻兄弟选择器。
试试这个:
$('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()
,如下所示:
parent('div') //if you have a parent container as div.