2016-08-23 72 views
-1

我不得不從這個頁面需要學校名稱:http://www.australianschoolsdirectory.com.au/search-result.php的工作,我不想做手工,所以我寫了一個腳本,並把它放到控制檯:的JavaScript AnchorTag.text返回undefined

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不客氣,謝謝你:-) –