我的HTML包含多个<br>
标记。
<br>
<br>
<br>
<br>
<br>
TITLE
<br>
<br>
foo bar
<br>
foo bar
...
我想最多只保留单休息和双休息(新行和新段落),我想忽略所有额外的<br>
。因此,一个接一个地最多2 <br>
。所以,
<br><br><br><br><br>TITLE<br><br>foo bar<br>foo bar<br><br><br>foo bar
会变成
<br><br>TITLE<br><br>foo bar<br>foo bar<br><br>foo bar
如何使用CSS执行此操作?
我想选择所有<br>
元素,这些元素至少有2个先前的<br>
兄弟姐妹
答案 0 :(得分:5)
答案 1 :(得分:2)
<br>
代码can't be styled in any other way in most browsers,您可以隐藏它们:
br+br+br {display: none} /* (Also works in IEs 7+8) */
http://jsfiddle.net/nottrobin/Wxf3D/1/(感谢@ A.K)
问题在于,使用标记<br><br><br>hello<br>
它也会匹配最终的<br>
,因为它不会将文本节点计为兄弟节点。您可以通过将标记更新为:
<br><br><br><br><br>
<p>TITLE</p>
<br><br>
<p>foo bar</p>
<br>
<p>foo bar</p>
当然,如果您愿意,也可以使用jQuery删除这些元素:
<script>
jQuery("br+br+br").remove();
</script>
(我担心我试图制定一个只有JavaScript的解决方案时会失去耐心)