La pregunta de OP es sobre JavaScript simple y no sobre jQuery . Aunque hay muchas respuestas y me gusta la respuesta de @Pawan Nogariya , consulte esta alternativa.
Puede utilizar XPATH en JavaScript. Más información sobre el artículo de MDN aquí .
El document.evaluate()
método evalúa una consulta / expresión XPATH. Entonces puede pasar expresiones XPATH allí, atravesar el documento HTML y ubicar el elemento deseado.
En XPATH puede seleccionar un elemento, por el nodo de texto como el siguiente, que obtiene el div
que tiene el siguiente nodo de texto.
//div[text()="Hello World"]
Para obtener un elemento que contiene algo de texto, use lo siguiente:
//div[contains(., 'Hello')]
El contains()
método en XPATH toma un nodo como primer parámetro y el texto a buscar como segundo parámetro.
Compruebe este plunk aquí , este es un ejemplo de uso de XPATH en JavaScript
Aquí hay un fragmento de código:
var headings = document.evaluate("//h1[contains(., 'Hello')]", document, null, XPathResult.ANY_TYPE, null );
var thisHeading = headings.iterateNext();
console.log(thisHeading); // Prints the html element in console
console.log(thisHeading.textContent); // prints the text content in console
thisHeading.innerHTML += "<br />Modified contents";
Como puede ver, puedo tomar el elemento HTML y modificarlo como quiera.