qwe*_*rty 4 string jquery siblings closest
假设我有以下标记:
<p></p>
<p>not empty</p>
<p>not empty</p>
<p></p>
<div class="wrapper">
// more content inside
</div>
<p> </p> <-- whitespace, also removed
<p></p>
<p>not empty</p>
Run Code Online (Sandbox Code Playgroud)
如何删除<p>最接近的空标签.wrapper?我想要一个这样的结果:
<p></p>
<p>not empty</p>
<p>not empty</p>
<div class="wrapper">
// more content inside
</div>
<p>not empty</p>
Run Code Online (Sandbox Code Playgroud)
所以我不想删除所有空的兄弟姐妹,只是旁边的空兄弟.wrapper,即使有多个.
您可以使用.prevUntil/ .nextUntil组合:not(:empty)选择器:http: //jsfiddle.net/vEtv8/5/.
$("div.wrapper")
.??????????nextUntil(":not(p), :not(:empty)").remove().end()
.prevUntil(":not(p), :not(:empty)").remove();
Run Code Online (Sandbox Code Playgroud)
:empty但是,不会将空白元素视为空.你可以使用一个函数:http://jsfiddle.net/vEtv8/4/.
var stopPredicate = function() {
var $this = $(this);
return !$this.is("p") || $.trim($this.text()) !== "";
};
$("div.wrapper")
.nextUntil(stopPredicate).remove().end()
.prevUntil(stopPredicate).remove();
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
555 次 |
| 最近记录: |