用空格查找空段并将其删除

时间:2013-03-19 10:29:46

标签: jquery

美好的一天

我想使用以下代码删除我的一个元素下面的空段落,并且我使用以下代码(请参阅JS和小提琴)。

我的代码正在运行,但我知道代码编写得不是很好,我想使用(this)而不是每次都引用elemtn。我该如何优化此代码?

<div class="wpcol-one-quarter">
   <p><ahref=""><img src="" width="180" height="120" /></a></p>
</div>
<p>&nbsp;</p> <!--I want to remove this-->
<div class="wpcol-one-quarter">
   <p><a href=""><img src="" width="180" height="120" /></a></p>
</div>

JS:

$("div.wpcol-one-quarter").next('p:empty').remove();


if($("div.wpcol-one-quarter").next('p').html()=="&nbsp;") {
  $("div.wpcol-one-quarter").next('p').remove();
}

注意:我只想删除一个空的p标签,而不是页面上可能出现的任何其他p标签

FIDDLE

谢谢

3 个答案:

答案 0 :(得分:4)

你可以这样做:

$('p').filter(function(){ return $.trim(this.innerHTML)==="&nbsp;" }).remove();

我建议修剪为最佳做法,因为在构建HTML时很容易插入空格或换行符。

Demonstration

答案 1 :(得分:1)

缓存变量:

var p = $("div.wpcol-one-quarter").next('p');
if(p.html()=="&nbsp;") {
  p.remove();
}

http://jsfiddle.net/7L4WZ/134/

答案 2 :(得分:0)

请尝试以下代码:

$('p:empty').remove();
$('p').filter(function(){ return $.trim(this.innerHTML)==="&nbsp;" }).remove();          

更多帮助转到http://jsfiddle.net/7L4WZ/132/