La domanda di OP riguarda il semplice JavaScript e non jQuery . Sebbene ci siano molte risposte e mi piace la risposta di @Pawan Nogariya , controlla questa alternativa.
Puoi usare XPATH in JavaScript. Maggiori informazioni sull'articolo MDN qui .
Il document.evaluate()
metodo valuta una query / espressione XPATH. Quindi puoi passare le espressioni XPATH lì, attraversare il documento HTML e individuare l'elemento desiderato.
In XPATH puoi selezionare un elemento, dal nodo di testo come il seguente, che ottiene il div
che ha il seguente nodo di testo.
//div[text()="Hello World"]
Per ottenere un elemento che contiene del testo usa quanto segue:
//div[contains(., 'Hello')]
Il contains()
metodo in XPATH accetta un nodo come primo parametro e il testo da cercare come secondo parametro.
Controlla questo plunk qui , questo è un esempio di utilizzo di XPATH in JavaScript
Ecco uno snippet di codice:
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";
Come puoi vedere, posso prendere l'elemento HTML e modificarlo come mi piace.