Javascript:: 第一个孩子的 textContent/innerText
Javascript:: textContent/innerText of firstChild
我的代码几乎可以解释我将要得到的内容:
<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 值 ►
。
此处需要进行一些小调整
试试这个:
var myPlayer=document.getElementById('player').firstElementChild;
问题是 #player
的第一个子节点本身就是一个文本节点。您正在寻找的是 #player
.
的第一个 元素 子元素
小提示:IE8 不支持 firstElementChild
。
您有 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];
我的代码几乎可以解释我将要得到的内容:
<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 值 ►
。
此处需要进行一些小调整
试试这个:
var myPlayer=document.getElementById('player').firstElementChild;
问题是 #player
的第一个子节点本身就是一个文本节点。您正在寻找的是 #player
.
小提示:IE8 不支持 firstElementChild
。
您有 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];