Javascript .querySelector通过innerTEXT查找<div>

如何找到带有特定文本的DIV?例如:


<div>

SomeText, text continues.

</div>

尝试使用这样的东西:


var text = document.querySelector('div[SomeText*]').innerTEXT;

alert(text);

但是,当然它是行不通的。我该怎么做?


撒科打诨
浏览 2273回答 3
3回答

桃花长相依

OP的问题是关于普通JavaScript而不是jQuery的。尽管答案很多,而且我喜欢@Pawan Nogariya的答案,请检查此替代方法。您可以在JavaScript中使用XPATH。有关MDN文章的更多信息,请点击此处。该document.evaluate()方法评估XPATH查询/表达式。因此,您可以在此处传递XPATH表达式,遍历HTML文档并找到所需的元素。在XPATH中,您可以通过文本节点选择一个元素,如下所示,该元素将获得div具有以下文本节点的元素。//div[text()="Hello World"]要获取包含一些文本的元素,请使用以下命令://div[contains(., 'Hello')]contains()XPATH中的方法将节点作为第一个参数,将要搜索的文本作为第二个参数。在这里检查这个问题,这是在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 consoleconsole.log(thisHeading.textContent); // prints the text content in consolethisHeading.innerHTML += "<br />Modified contents";&nbsp;&nbsp;如您所见,我可以获取HTML元素并根据需要对其进行修改。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

JavaScript