2011-12-06 33 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