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 div
qui 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.