I am changing the text content in <p> tags. While setting the new text content to <p> tags, the sequence of <p> tags is changing.
Is there any way to fix the issue ?
var userInput = "optin-monster";
var all_script = "Benedict_Cumberbatch ";
var all=$("p:contains(" + userInput + ")").attr('id', 'xyz');
var len_all=$('p').length;
var all_array=[];
for (var i=0; i < len_all; i++) {
all_array.push($(all[i]).text());
}
all_array = all_array.filter(item => item);
changed_array=[];
for (var i = 0; i < all_array.length; i++)
{
var indexEqu=all_array[i].indexOf("=");
var slicedVal=all_array[i].slice(indexEqu+2,indexEqu+22);
var result = all_array[i].replace(all_array[i],all_script);
var out=result+slicedVal+" Enrique_Iglesias";
changed_array.push(out);
}
for (j= 0, n = changed_array.length; j< n; j++) {
var line = document.getElementById("xyz");
line.innerHTML = changed_array[j];
document.body.appendChild(line);
}
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<p>vmware</p>
<p>[optin-monster slug="wxjxpdi2nhbn7xlmmljo"]</p>
<p>product design</p>
<p>[optin-monster slug="i2nlmmljodhbn7wxjxpx"]</p>
<p>[optin-monster slug="mljodhbn7wxji2nlmxpx"]</p>
Purpose : The changed paragraph tags should be in there actual positions after getting new text content.
Expected : vmware
Benedict_Cumberbatch wxjxpdi2nhbn7xlmmljo Enrique_Iglesias
product design
Benedict_Cumberbatch i2nlmmljodhbn7wxjxpx Enrique_Iglesias
Benedict_Cumberbatch mljodhbn7wxji2nlmxpx Enrique_Iglesias