2015-04-23 35 views
1

的的textContent /的innerText我的代码是相当多解释本身就是我即将得到:的Javascript ::则firstChild

<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

您有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]; 
2

试试这个:

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

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

次要提示:firstElementChild不支持IE8-。

+0

OMG我爱你:d! 10倍! –

+0

@ Hezi-Gangina嘿,不客气! ^^ – MaxArt