Javascript从嵌套的Div获取Div信息
我正在尝试做一个google chrome扩展,它可以从一个div、一个在线游戏网站、拍卖网站等获取倒计时计时器的数量。当我获得了这个数量后,我可以在一个div中发布不同的时间计算结果,并将其注入html 我的div注射效果很好。获得时间是个问题 目前的网站,我得到的倒计时信息是一个游戏网站。我找到了包含倒计时信息和div id名称的div,但实际倒计时信息位于没有id的嵌套div中 各分区的结构如下:Javascript从嵌套的Div获取Div信息,javascript,dom,google-chrome-extension,Javascript,Dom,Google Chrome Extension,我正在尝试做一个google chrome扩展,它可以从一个div、一个在线游戏网站、拍卖网站等获取倒计时计时器的数量。当我获得了这个数量后,我可以在一个div中发布不同的时间计算结果,并将其注入html 我的div注射效果很好。获得时间是个问题 目前的网站,我得到的倒计时信息是一个游戏网站。我找到了包含倒计时信息和div id名称的div,但实际倒计时信息位于没有id的嵌套div中 各分区的结构如下: <div id="countdowndiv"> <div class
<div id="countdowndiv">
<div class="info">
<div class="time">
1m 39s
</div>
</div>
</div>
1m 39s
有多个div的类为“time”和“info”,因此我认为我不能使用document.getElementsByClassName()
有没有办法得到这个倒计时数?您可以使用
document.queryselectoral('div#countdowndiv div#time')
,但您应该注意它不完全兼容跨浏览器。更多信息。好吧,由于您不必担心跨浏览器问题(因为唯一的目标浏览器是Chrome),您可以安全地使用单个选择器表达式获取特定元素,结合getElementsByCassName
和getElementById
的功能。例如:
var countDownNode = document.querySelector('#countdowndiv .time'),
countDown = countDownNode && countDownNode.innerHTML;
尽管如此,如果结构与问题中所示完全相同,还有一种更简单的方法:
var countDown = document.getElementById('countdowndiv').textContent;
。。。作为
textContent
属性,引号“…返回每个子节点的textContent属性值的串联,不包括注释和处理指令节点”。在提供给主解析块之前,您可以对其使用trim
,或者保持原样。有许多方法,您可以沿着dom遍历:
document.getElementById('countdowndiv').children[0].children[0].innerHTML
事实上,除非你必须明确地支持IE7,否则QS/QSA就是。