-1

再会

我想使用以下代码删除我的元素之一下方的空段落,并且我正在使用以下代码(请参阅 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 标签

小提琴

谢谢你

4

3 回答 3

4

你可以这样做:

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

我建议将修剪作为最佳实践,因为在构建一些 HTML 时很容易插入空格或换行符。

示范

于 2013-03-19T10:31:39.513 回答
1

缓存变量:

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

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

于 2013-03-19T10:34:17.707 回答
0

试试下面的代码:

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

更多帮助请访问http://jsfiddle.net/7L4WZ/132/

于 2013-03-19T10:36:48.543 回答