2012-09-20 67 views
1

Newby Javascript question here。哦,我知道有很多不同的方法可以做到這一點 - 其中很多都是在本網站上解釋的 - 但這個問題特別與這一點代碼有關。Javascript:隱藏表格行

<html> 
<head> 
<script type="text/javascript" language="javascript"> 
    function getField(fieldType, fieldTitle) { 
     var docTags = document.getElementsByTagName(fieldType); 
     for (var i = 0; i < docTags.length; i++) { 
      if (docTags[i].title == fieldTitle) { 
       return docTags[i] 
      } 
     } 
    } 

    function SetHidden() { 
     getField('tr', 'TRA').style.display = 'none'; 
     getField('tr', 'TRB').style.display = ''; 
    } 

    SetHidden() 

</script> 



</head> 

<body> 

<table> 
<tr title="TRA"> 
    <td>Tier A Kit Count</td> 
<tr title="TRB"> 
    <td>Tier B Kit Count</td> 
</tr> 
</table> 

</body> 
</html> 

此代碼一直是我工作的網站上廣泛使用[它是有一些自定義的javascript一個SharePoint頁面],但如果我用一個新的頁面上我不斷收到錯誤getField('tr', 'TRA').style.display = 'none'風格是未定義的或不是對象。

我在錯誤的地方得到一個逗號,或者是我在其他地方調用getElementsByTagName的sharepoint頁面嗎?

任何幫助解決這個特定的代碼位置將不勝感激。

問候

回答

2

SetHidden()功能可能會調用之前的頁面完全加載。嘗試將其更改爲:

window.onload = SetHidden; 
+0

感謝Barmar,那是一種享受。僅供將來參考,以這種方式調用函數會更好嗎? – sansSpoon