如何通过其类获得跨度文本?

时间:2015-07-17 19:48:59

标签: javascript html

我需要在span元素中获取文本。问题是它没有唯一的ID,只有一个类。有没有办法通过只知道它的类来检索这个元素中的文本?

我试过这段代码:

var theValue = document.getElementById('you').getElementsByClassName('username').innerHTML;

但是我收到了一个错误:

  

未捕获的TypeError:无法读取属性'getElementsByClassName'为null

HTML:

<div id="you">
       <span class="username">theTextIShouldGet</span>

        <a class="logout" href="/logout">
         </a>
        <a class="settings" href="/settings">
         </a>
</div>

1 个答案:

答案 0 :(得分:5)

您收到该错误是因为您在网页上加载该元素之前尝试访问该元素。将脚本移动到页面底部或将脚本包装在DOM就绪函数中。

至于按班级获取文字,当然! getElementsByClassName会返回一个集合 - 因此您需要引用所需的索引:

<div id="you">
   <span class="username">theTextIShouldGet</span>

    <a class="logout" href="/logout">
     </a>
    <a class="settings" href="/settings">
     </a>
</div>
<script>
    var theValue = document.getElementById('you').getElementsByClassName('username')[0].innerHTML;
</script>