Pytanie OP dotyczy zwykłego JavaScript, a nie jQuery . Chociaż odpowiedzi jest mnóstwo i podoba mi się odpowiedź @Pawan Nogariya , sprawdź tę alternatywę.
Możesz używać XPATH w JavaScript. Więcej informacji o artykule MDN tutaj .
document.evaluate()
Sposób ocenia się zapytania xPath / ekspresji. Możesz więc przekazać tam wyrażenia XPATH, przejść do dokumentu HTML i zlokalizować żądany element.
W XPATH możesz wybrać element za pomocą węzła tekstowego, takiego jak poniżej, który otrzyma ten, div
który ma następujący węzeł tekstowy.
//div[text()="Hello World"]
Aby uzyskać element, który zawiera tekst, użyj:
//div[contains(., 'Hello')]
Plik contains()
Metoda w XPATH zajmuje węzeł jako pierwszy parametr i tekst do wyszukania jako drugi parametr.
Sprawdź ten plunk tutaj , to jest przykład użycia XPATH w JavaScript
Oto fragment kodu:
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";
Jak widać, mogę pobrać element HTML i zmodyfikować go tak, jak mi się podoba.