OP的问题是关于普通的JavaScript,而不是jQuery。虽然有很多答案,我喜欢@Pawan Nogariya的答案,请查看这个替代方案。
你可以在 JavaScript 中使用 XPATH。有关MDN文章的更多信息,请单击此处。
该方法计算 XPATH 查询/表达式。因此,您可以在那里传递XPATH表达式,遍历到HTML文档并找到所需的元素。document.evaluate()
在 XPATH 中,您可以选择一个元素,通过如下所示的文本节点,whch 获取具有以下文本节点的该元素。div
//div[text()="Hello World"]
若要获取包含某些文本的元素,请使用以下命令:
//div[contains(., 'Hello')]
XPATH 中的方法将节点作为第一个参数,将要搜索的文本作为第二个参数。contains()
在这里检查这个plunk,这是在JavaScript中使用XPATH的示例
下面是一个代码片段:
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";
如您所见,我可以获取HTML元素并根据需要对其进行修改。