La question d'OP concerne le JavaScript brut et non jQuery . Bien qu'il y ait beaucoup de réponses et que j'aime la réponse @Pawan Nogariya , veuillez consulter cette alternative.
Vous pouvez utiliser XPATH en JavaScript. Plus d'informations sur l'article MDN ici .
La document.evaluate()méthode évalue une requête / expression XPATH. Vous pouvez donc y passer des expressions XPATH, parcourir le document HTML et localiser l'élément souhaité.
Dans XPATH, vous pouvez sélectionner un élément, par le nœud de texte comme suit, qui obtient le divqui a le nœud de texte suivant.
//div[text()="Hello World"]
Pour obtenir un élément contenant du texte, utilisez ce qui suit:
//div[contains(., 'Hello')]
le contains() méthode dans XPATH prend un nœud comme premier paramètre et le texte à rechercher comme deuxième paramètre.
Vérifiez ce plunk ici , ceci est un exemple d'utilisation de XPATH en JavaScript
Voici un extrait de code:
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";
Comme vous pouvez le voir, je peux saisir l'élément HTML et le modifier à ma guise.