Quiero reemplazar cada instancia de la palabra "Especialización" con "Profesión". Este es el código XPath que tengo hasta ahora:
<script type="text/javascript"> var xpath = "//div[text()='Specialization']"; var matchingElement = document.evaluate(xpath, document, null, XPathResult.FIRST_ORDERED_NODE_TYPE, null).singleNodeValue; matchingElement.style.color = "red"; </script>
Mi agradecimiento a @Mateen por su ayuda con mi pregunta original por escribir la línea anterior para mí en primer lugar.
No estoy seguro de por qué necesita una solución XPath, pero si quiere seguir con la API DOM estándar, aquí hay una solución simple.
document.querySelectorAll("div").forEach(function(d){ if(d.textContent.includes("Foo")){ d.textContent = d.textContent.replace("Foo","FooBar"); d.classList.add("match"); } });
.match { color:#f00; }
<div>Foo is cool</div> <div>Bar is not</div> <div>Foo is cool</div> <div>Bar is not</div> <div>Foo is cool</div> <div>Bar is not</div> <div>Foo is cool</div> <div>Bar is not</div> <div>Foo is cool</div> <div>Bar is not</div> <div>Foo is cool</div> <div>Bar is not</div>