2012-07-27 22 views
0

-getElementsByClassName方法我使用下面的腳本返回什麼

<HTML> 
<meta http-equiv='Content-Type' content='text/xml; charset=windows-1252'> 

<script type="text/javascript"> 
    function show(){ 
     var navLinks = document.getElementsByClassName('a'); 
     for (var i = 0; i < navLinks.length; i++) { 
      var link = navLinks[i]; 
      var title = link.title; 
      alert(title); 
    } 
} 
    </script> 

<HEAD> 
<TITLE>Properties</TITLE> 
</HEAD> 
<BODY> 
<button type="button" onClick="show()">Close</button> 

<table cellpadding=0 cellspacing=0> 

<tr> 
    <td>Contact</td> 
    <td class="a">(01) 234 5678</td> 
</tr> 

</table> 

</BODY> 
</HTML> 

所有我想要做的是顯示出(01) 234 5678但是IE8不執行任何操作和Chrome顯示空白警報框一個警告框。

我是新來的Javascript,但我哪裏錯了?

+2

IE8上運行不支持'getElementsByClassName方法()' – Pointy 2012-07-27 14:54:58

+0

要拿起IE8的支持,使用'document.querySelectorAll( 'A')',而不是' getElementsByClassName'。 – 2012-07-27 15:03:54

+0

我可以建議你切換到[JQuery](http://jquery.com/)。 ()函數(){$(this).click(alert($(this).text()));}) – 2012-07-27 14:51:37

回答

5

你並不需要獲得鏈接的標題,你需要得到的innerHTML這樣的:

var title = link.innerHTML; 
+1

繁榮。完成。預計在8分鐘內接受。 – Ebikeneser 2012-07-27 14:54:05

+0

只是一個觀察,即使這是正確的,但IE8和以下版本沒有瀏覽器原生支持getElementsByClassName() – vitorbal 2012-07-27 15:00:59

+0

正確,但我正在使用Chrome,但是如何解決此問題? – Ebikeneser 2012-07-27 15:15:00

0

我錯了。我使用螢火蟲並嘗試console.log輸出。 navLinks可以得到正確的結果

<td class="a">(01) 234 5678</td> 

但是你沒有title屬性,因此返回任何內容。 嘗試

<td class="a" title="(01) 234 5678">(01) 234 5678</td> 

我明白了我的機器

+1

代碼位於單擊按鈕時調用的函數中。這不是問題。 – Pointy 2012-07-27 14:56:53

+0

要讓HTML顯示在您的答案中,請突出顯示它,然後單擊編輯區域上方的**按鈕。{} – 2012-07-27 15:07:12

+0

謝謝,我明白了。 – HaoCS 2012-07-27 15:11:54

相關問題