如何刪除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