I'm using nextUntil
method to get all stuff between two elements. But this method does not include text nodes
to output. It gives an array like [<br>, <br>, <br>]
. How can I get all stuff including text nodes?
This is the HTML code:
$('.content a:contains("spoiler").b:even').each(function() {
$(this).nextUntil('.content a:contains("spoiler").b')
.wrapAll('<div style="border:solid 1px black;"></div>');
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<div class="content">
--- <a class="b" href="/?q=spoiler">spoiler</a> ---
<br>
<br> dangerous text here
<br> --- <a class="b" href="/?q=spoiler">spoiler</a> ---
<br> safe text here
<br> --- <a class="b" href="/?q=spoiler">spoiler</a> ---
<br>
<br> dangerous text here
<br> --- <a class="b" href="/?q=spoiler">spoiler</a> ---
</div>
JSFiddle: http://jsfiddle.net/Lwk97rvq/1/
.contents()
returns text nodes. – Uncourtlycontents()
? – Overcast