2011-12-06 32 views
0

想象一下,我有這樣的HTML片段:尋找連續<br />元素,使用jQuery

<div></div> 
<br /> 
<div></div> 
<br /> 
<img src='' alt='' /> 
<p></p> 
<br /> 
<br /> 
<br /> 
<div></div> 
<a href=''></a> 
<br /> 

其中有沒有明確的規則可言。我唯一知道的是,連續<br />元素存在某處。現在,我需要使用jQuery找到連續三個<br />元素,並刪除它們後面的任何內容。

我該怎麼做?

回答

5
$('br + br + br').nextAll().remove(); 

如果有要刪除潛在的文本節點,這樣做:

var el = $('br + br + br')[0], 
    nxt; 

while(nxt = el.nextSibling) { 
    el.parentNode.removeChild(nxt); 
} 

或者更多的jQuery:

var el = $('br + br + br')[0], 
    nxt; 

while(nxt = el.nextSibling) { 
    $(nxt).remove(); 
} 
+0

或者更好...'.nextUntil()'? ! –

+0

@roXon:嗯......我解釋了這個問題,要求刪除連續3個br元素後面的所有內容。 – RightSaidFred