JSFiddle - React, Tailwind, and code Playground
HTML
<div id="test">Test Text Node 1<b>Test Bold Node 1</b><p>Test Para Node 1</p>Test Text Node 2<b>Test Bold Node 2</b>Test Text Node 3<p>Test Para Node 2</p>Test</div>
<div id="result">
</div>
JavaScript
var prev = null,
next = null;
var elContents = $('#test').contents();
console.log('Total Elements ' + elContents.length);
elContents.each(function(idx, el) {
if (el.nodeType == 3) {
if (idx == 0) {
prev = null;
next = elContents.get(idx + 1);
} else if (idx == elContents.length - 1) {
prev = elContents.get(idx - 1);
next = null;
} else {
next = elContents.get(idx + 1);
prev = elContents.get(idx - 1);
}
$('#result').append ("<b>Prev: </b>" + $(prev).text() + " <b>Cur: </b>" + $(el).text() + "<b> Next: </b>" + $(next).text() + '<br />');
}
});