Estoy tratando de reescribir este código para satisfacer mis necesidades, pero estoy perdido en toda la magia de reemplazo que hace el autor de Fiddle. Aquí está mi violín modificado .
Mi objetivo es encontrar todas las apariciones de la letra "a" en el párrafo y resaltarlas. Simplemente no puedo entender por qué mis letras se reemplazan por 1$ en lugar de resaltarse. Puede alguien ayudarme con esto ?
HTML
<div id="searchtext"> <p>I want to highlight all "a" letters in this paragraph</p> </div>JS
$(document).ready(function() { var text = 'a'; var query = new RegExp(text, "gim"); var e = document.getElementById("searchtext").innerHTML; var enew = e.replace(/(<span>|<\/span>)/igm, ""); document.getElementById("searchtext").innerHTML = enew; var newe = enew.replace(query, "<span>1$</span>"); document.getElementById("searchtext").innerHTML = newe; });CSS:
#searchtext span { background-color: #FF9; color: #555; }Usa \$& en su lugar
$(document).ready(function() { var text = 'a'; var query = new RegExp(text, "gim"); var e = document.getElementById("searchtext").innerHTML; var enew = e.replace(/(<span>|<\/span>)/igm, ""); document.getElementById("searchtext").innerHTML = enew; var newe = enew.replace(query, "<span>\$&</span>"); document.getElementById("searchtext").innerHTML = newe; }); #searchtext span { background-color: #FF9; color: #555; } <script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> <div id="searchtext"> <p>I want to highlight all "a" letters in this paragraph</p> </div>