繁体   English   中英

Javascript :: firstChild的textContent / innerText

[英]Javascript:: textContent/innerText of 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; 在控制台上。

这里需要细微调整

尝试这个:

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

问题在于#player的第一个孩子是文本节点本身。 您要查找的是#player的第一个元素#player

一个小小的注意事项: firstElementChild不支持firstElementChild。

您可以同时使用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];

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM