选择器的内部文本

时间:2016-08-07 13:05:29

标签: javascript angularjs

我试图从这个标记中获取内部文本:

<span ng-if="vm.totalRecords > 1" class="ng-binding ng-scope">
    Displaying results 1-25 of 17,430
</span>

使用此选择器:

document.querySelectorAll('div.Dashboard-section div.pure-u-1-1 span.ng-binding.ng-scope').innerText

返回undefined。有什么建议我做错了吗?

2 个答案:

答案 0 :(得分:2)

document.getElementsByTagName可用于获取span元素,然后选择第一个元素。

console.log(document.getElementsByTagName('span')[0].innerText);
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.2.23/angular.min.js"></script>
<span ng-if="vm.totalRecords > 1" class="ng-binding ng-scope">Displaying results 1-25 of 17,430</span>

答案 1 :(得分:1)

您需要执行以下操作:

console.log(document.querySelectorAll('span')[0].innerText);
<span ng-if="vm.totalRecords > 1" class="ng-binding ng-scope">Displaying results 1-25 of 17,430</span>

由于两个原因,这将记录innerText而不是其他代码:

  1. 使用querySelectorAll会返回结果列表,因此我们会使用[0]来引用找到的第一个元素。

  2. querySelectorAll的实际查询找不到HTML元素。只需使用span作为查询即可。