2016-08-23 1 views
-1

Я должен взять имена школы с этой страницы: http://www.australianschoolsdirectory.com.au/search-result.php для работы, и я не хочу, чтобы сделать это вручную, так что я написал сценарий и поставил его в консоль:JavaScript AnchorTag.text возвращение неопределенные

var schoolNames = document.getElementsByClassName("listing-header"); 
console.log(schoolNames[0].getElementsByTagName('a').text); 

Этот код возвращает undefined, но я ожидаю получить имя первой школы.

Как сделать это правильно, если я думаю, что это сделано правильно, ха-ха?

Спасибо!

+0

getElementsByTagName - ключ находится в подписи. Он может возвращать несколько записей для данного тега. Вам придется пройти через него или захватить первый, если он существует. – ManoDestra

ответ

2

Проблема в том, что вы вызываете .text() по массиву результатов. Метод, который вы использовали getElementsByTagName(), возвращает массив. Так что, если вы хотите, чтобы получить текст такого элемента, скажем, первый один, вы бы использовать что-то вроде: тыс

console.log(schoolNames[0].getElementsByTagName('a')[0].text); 

Так же, как вы сделали в первой части кода после получения массива все элементы, которые имели название класса var schoolNames = document.getElementsByClassName("listing-header"); и schoolNames[0]

+0

Отлично! Спасибо! Принимая ответ как можно скорее! – scarface

+0

@lolofon Добро пожаловать, и спасибо :-) –

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