1
我有一些html,我希望用div包裝一些元素。jquery nextUntil包含匹配元素
最終結果應該是從每個--greystart--
到--greyend--
將包裝在div
中,包括匹配的元素本身。
我看着atusing .addBack()
和.addSelf()
,但不能得到任何正常工作。這是我已經成功
if($('.event_description:contains("--greystart--")')) {
$('p:contains("--greystart--")').each(function(i){
$(this)
.nextUntil('p:contains("--greyend--")')
.addBack()
.wrapAll('<div class="bg--grey" />')
});
};
.bg--grey {background: red;}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script>
<div class="event_description">
<p>--greystart--</p>
<p>saddasdsa</p>
<p>dsadasdsa</p>
<p>fdfdfsfds</p>
<p>dfsdffdsfds</p>
<p>--greyend--</p>
<p>dfdsfdsf</p>
<p>--greystart--</p>
<p>saddasdsa</p>
<p>dsadasdsa</p>
<p>fdfdfsfds</p>
<p>dfsdffdsfds</p>
<p>--greyend--</p>
<p>dfdsf</p>
<p>--greystart--</p>
<p>saddasdsa</p>
<p>dsadasdsa</p>
<p>fdfdfsfds</p>
<p>dfsdffdsfds</p>
<p>--greyend--</p>
<p>fdfdsdsf</p>
<p>--greystart--</p>
<p>saddasdsa</p>
<p>dsadasdsa</p>
<p>fdfdfsfds</p>
<p>dfsdffdsfds</p>
<p>--greyend--</p>
</div>
Ahh這一直奏效,但依靠下一個元素始終是'p'。我已經包含一個通配符選擇,而不是'p'修改爲我的使用:'.nextUntil(「P:包含(‘ - greyend--’)+ *」)' –