为了账号安全,请及时绑定邮箱和手机立即绑定

Javascript .querySelector通过innerTEXT查找<div>

Javascript .querySelector通过innerTEXT查找<div>

撒科打诨 2019-12-27 09:30:13
如何找到带有特定文本的DIV?例如:<div>SomeText, text continues.</div>尝试使用这样的东西:var text = document.querySelector('div[SomeText*]').innerTEXT;alert(text);但是,当然它是行不通的。我该怎么做?
查看完整描述

3 回答

?
桃花长相依

TA贡献1860条经验 获得超8个赞

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 console

console.log(thisHeading.textContent); // prints the text content in console


thisHeading.innerHTML += "<br />Modified contents";  

如您所见,我可以获取HTML元素并根据需要对其进行修改。


查看完整回答
反对 回复 2019-12-27
  • 3 回答
  • 0 关注
  • 2267 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信