我的代码很好地解释了我将要得到的信息:
<div id=player>
<div class="button hand">►</div>
<div class=time>00:00/02:25</div>
<div class="timeline hand"><span class="now hand"></span></div>
</div>
<script>
var myPlayer=document.getElementById('player').firstChild;
var playerStatus=(myPlayer.innerText||myPlayer.textContent);
console.log(playerStatus);
</script>我希望在控制台上获得ascii值►。
这里需要小的调整
发布于 2015-04-23 21:14:40
id和class都可用,所以使用querySelector()。
var myPlayer=document.querySelector('#player > .button.hand');这也有在IE8中工作的好处。
另外,innerText/textContent的一个快捷方式是在脚本顶部检查它,并将适当的键存储在字符串中。
var text = ("textContent" in document) ? "textContent" : "innerText";然后,在text变量中使用方括号。
var myPlayer=document.querySelector('#player > .button.hand');
var playerStatus=(myPlayer[text]);然后你可以把它缩短成这样:
var playerStatus=document.querySelector('#player > .button.hand')[text];发布于 2015-04-23 21:08:47
试试这个:
var myPlayer=document.getElementById('player').firstElementChild;问题是#player的第一个子节点是文本节点本身。您要寻找的是#player的第一个元素子元素。
注意: IE8-不支持firstElementChild。
https://stackoverflow.com/questions/29834319
复制相似问题