firstChild的Javascript :: textContent / innerText

时间:2015-04-23 21:07:06

标签: javascript html console innertext

我的代码几乎可以解释我将要获得的内容:

<div id=player>
    <div class="button hand">&#9658;</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值&#9658;

这里需要小调整

2 个答案:

答案 0 :(得分:2)

试试这个:

var myPlayer=document.getElementById('player').firstElementChild;

问题是#player的第一个孩子本身就是一个文本节点。你正在寻找的是#player的第一个元素孩子。

次要说明:IE8不支持firstElementChild - 。

答案 1 :(得分:2)

您同时拥有idclass,因此请使用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];