2016-08-07 3 views
2

Я попытался взять внутренний текст из этой разметки:Внутренний текст из селектора

<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. Любые предложения, что я делаю неправильно?

ответ

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, так как запроса достаточно.

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>

Смежные вопросы