首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Javascript::textContent/innerText of firstChild

Javascript::textContent/innerText of firstChild
EN

Stack Overflow用户
提问于 2015-04-23 21:07:05
回答 2查看 1.6K关注 0票数 1

我的代码很好地解释了我将要得到的信息:

代码语言:javascript
复制
<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;

这里需要小的调整

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2015-04-23 21:14:40

idclass都可用,所以使用querySelector()

代码语言:javascript
复制
var myPlayer=document.querySelector('#player > .button.hand');

这也有在IE8中工作的好处。

另外,innerText/textContent的一个快捷方式是在脚本顶部检查它,并将适当的键存储在字符串中。

代码语言:javascript
复制
var text = ("textContent" in document) ? "textContent" : "innerText";

然后,在text变量中使用方括号。

代码语言:javascript
复制
var myPlayer=document.querySelector('#player > .button.hand');
var playerStatus=(myPlayer[text]);

然后你可以把它缩短成这样:

代码语言:javascript
复制
var playerStatus=document.querySelector('#player > .button.hand')[text];
票数 2
EN

Stack Overflow用户

发布于 2015-04-23 21:08:47

试试这个:

代码语言:javascript
复制
var myPlayer=document.getElementById('player').firstElementChild;

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

注意: IE8-不支持firstElementChild

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/29834319

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档