JSFiddle - React, Tailwind, and code Playground
HTML
<p>
<label>item 1</label> Capture me!
<br /><br />
<label>item 2</label> Don't capture me
<label>item 3</label> capture me as well
<br /><br />
<label>item 4</label> Don't capture me either
</p>
CSS
p {
font-family:arial;
}
label {
display:inline-block;
width:25%;
font-weight:bold;
}
JavaScript
$(document).ready(function(){
function getUnenclosedText(selector,pointer,tag) {
var str = $(selector).html();
//determine start-pos and end-pos
var startPos = str.indexOf(pointer+"</"+tag+">") + (pointer+"</"+tag+">").length;
var endPos = str.indexOf("<"+tag,startPos);
//if there are line-breaks, reset end-pos
if (str.indexOf("<br",startPos)<endPos || endPos==-1) {
endPos = str.indexOf("<br",startPos);
}
//return substring
if (endPos==-1) {return str.substring(startPos).trim();} //if it was the last text in the container
else {return str.substring(startPos,endPos).trim();}
}
console.log(getUnenclosedText("p","item 1","label")); //(selector,pointer,pointerTag)
alert('Item 1: '+getUnenclosedText("p","item 1","label") +'\n'+ 'Item 3: '+getUnenclosedText("p","item 3","label"));
});