我试图从这个标记中获取内部文本:
<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
。有什么建议我做错了吗?
答案 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
而不是其他代码:
使用querySelectorAll会返回结果列表,因此我们会使用[0]
来引用找到的第一个元素。
querySelectorAll
的实际查询找不到HTML元素。只需使用span
作为查询即可。