2011-11-01 43 views
2

對不起,我有任何的無知 - 我的Javascript不是很好。嘗試獲取所有TR行的列表中的Javascript

無論如何,我有這個在我的頭:

<script type="text/javascript"> 
var tableRows = document.getElementbyId("inventorytable").childNodes; 

alert(tableRows) 
</script> 

據我所知,它應該抓住桌子的孩子們的「inventorytable」,正確的ID?

試圖最終將DOM的樹向下移動到表的子元素(即TDs)的子元素,並根據它們所在表中的位置添加字符串。但是現在只是試圖選擇桌子的孩子並提醒他們。

我已經添加了這些代碼,仍然沒有警覺:

<head> 
<script type="text/javascript"> 
window.onload = function inventorytable() { 
var tableRows = document.getElementbyId("inventorytable").rows; 

alert(tableRows.length); 
}; 
</script> 
</head> 

回答

2

嘗試:

var tableRows = document.getElementbyId("inventorytable").rows; 
alert(tableRows.length); 

https://developer.mozilla.org/en/DOM/table.rows

+0

我試過了,仍然沒有警覺彈出 - 它可能有一些做的事實上,我把它放在我的標題? –

+0

看看@ gryzzly的回答(+1)。 – karim79

+0

getElementById,not getElementbyId –

1

你應該做的兩件事情之一:

  1. 在關閉前放置此代碼</body>標記
  2. 用函數包裝這個函數,並將該函數作爲事件處理函數附加到DOMReady或窗口加載事件。

原因是當你的代碼被執行時(當它從頭部的腳本標籤中讀取時)DOM(HTML元素樹)還沒有被讀取。

第二個選項看起來是這樣的:

window.onload = function() { 
    //your code here 
    var tableRows = document.getElementbyId("inventorytable").childNodes; 
    alert(tableRows); 
}; 
不支持

domready中事件的交叉browserly,所以你可以使用邏輯連接到該事件庫 - http://code.google.com/p/domready/

我建議你讀到這裏的解釋:http://api.jquery.com/ready/,如果你要使用jQuery,那麼你會做這樣的:

$(document).ready(function() { 
    // your code here… 
    // instead of writing `document.getElementbyId("inventorytable").childNodes;` 
    // you could do 
    var tableRows = $('#inventorytable').find('tr'); 
    alert(tableRows); 
}); 
0

簡單,使用getElementsByTagName

var tableRows = document.getElementById("inventorytable").getElementsByTagName("tbody")[0].getElementsByTagName("tr"); 

注意tbody是需要對IE瀏覽器。然後循環這些元素和alert他們

for (var i = 0; i < tableRows.length; i++) { 
    window.alert(tableRows[i].tagName); // Or whatever... 
} 

這是一個跨瀏覽器技術,可以在任何地方工作:)

+1

'document.getElementById(「inventorytable」)。tBodies [0]'!!! –

+0

它是跨瀏覽器?它似乎是一些僅限IE的屬性。會嘗試一下。 – 2011-11-01 13:13:45

+1

:)是的,這是獲得TABLE TBODY的唯一方法。 MDN:https://developer.mozilla.org/en/DOM/table.tBodies MSDN:http://msdn.microsoft.com/en-us/library/ms537490%28VS.85%29.aspx –