如何删除foolabel
以及div
子元素和br
的?删除子元素
<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();
如何才能提高在这?
如何删除foolabel
以及div
子元素和br
的?删除子元素
<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();
如何才能提高在这?
只是did on what html you posted
这里。与.nextUntil()
$('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
,甚至更好的一个:
试试这个
$('label:contains("qux")').nextUntil($('label:contains(bar)'),$('label, br')).remove();
使用.html()方法并将其设置为null。
检查This参考
我没有看到改善去除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.
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..
}
很简单:
$(element).children()。remove();
那么容易...
+1不错...... :) – 2013-02-22 05:44:17
@Mr_Green感谢v.much。 – Jai 2013-02-22 05:50:02