我的段落包含一些<br>
和一个<br>
。
我想添加所有单<br>
,但不是双<br>
。
这怎么可能?
如果我使用
p br {display:none}
它隐藏了所有的br标签。但是,当我有两个br时,我希望它们仍然可以显示。 。 ..我们怎样才能做到这一点?似乎我找不到任何相关信息。
我也尝试了以下但没有成功:
p br { content: ' '; }
非常感谢你的时间!
- 编辑 -
我的段落格式如下:
<p> oremipsum lorem<br/>
orem blalgr<br/><br/>
loremg grthrt
</p>
答案 0 :(得分:3)
好的,如果你想显示两个<br />
但是删除一个,那么它很简单。您可以使用+
下一个子选择器:
p {margin: 0;}
br {display: none;}
br + br {display: block; margin-bottom: 2em;}
<p>Hello. One BR below.</p>
<br />
<p>Hello. Two BR below.</p>
<br /><br />
<p>Hello. One BR below.</p>
<br />
<p>Hello. Two BR below.</p>
<br /><br />
<p>Hello. No BR below.</p>
答案 1 :(得分:0)
此jQuery将删除任何单个<br/>
,但仍保留<br/><br/>
:
$(".container br").filter(function() {
var $item = $(this);
return !$item.next().is("br") && !$item.prev().is("br");
}).remove();
p {margin: 0;}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div class="container">
<p>Hello. One BR below.</p>
<br />
<p>Hello. Two BR below.</p>
<br /><br />
<p>Hello. One BR below.</p>
<br />
<p>Hello. Two BR below.</p>
<br /><br />
<p>Hello. No BR below.</p>
</div>
答案 2 :(得分:0)
如果p
的其他内容只是文字,您可以使用正则表达式替换所有单个br
:
var $p = $("p");
console.log($p.html());
$p.html($p.html().replace(/(\s*[^>\s]\s*)<br>\s*(?!\s*<br>)/gi, '$1'));
console.log($p.html());
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<p>
oremipsum lorem <br/>
orem blalgr <br/> <br/>
loremg grthrt
</p>
&#13;
答案 3 :(得分:-1)
你只需要这个CSS:
br + br { display:none; }