2011-04-12 124 views
2

我想添加到我的<td>元素JS事件偵聽器,該事件偵聽器將在頁面呈現(或加載)到DOM並且TD包含其innerHTML值時觸發。 類似:尋找相當於'onRender'的javascript事件

<script> 
function manipulate(field){ 
field.value = field.value+'_done'; 
} 
</script> 
<td onRender=manipulate(this)>Hello World</td> 

我不能使用的onLoad,因爲它可以在<body>僅用於我的理解 有沒有辦法做到這一點?

+0

只有在加載所有內容後才觸發「全局」onload事件,並且這包括您的表格單元格。那有什麼問題? – 2011-04-12 09:56:26

回答

1

你仍然可以使用body的onload,當整個頁面準備好並加載時它會觸發。您可以爲每個想要操作的TD元素設置屬性,然後遍歷頁面以查找這些元素並調用您的函數。

爲什麼要在DOM加載後操作某些東西?

+0

如何在純JavaScript中找到包含某個屬性的頁面中的所有元素(例如,沒有JQuery)? – Spiderman 2011-04-12 10:10:08

+0

您可以使用document.getElementsByTagName獲取所有TD元素,然後比較className,例如 – TJHeuvel 2011-04-12 10:39:01

+0

爲元素添加屬性,並在某些init方法中搜索這些元素是一種可接受的解決方案。謝謝 – Spiderman 2011-04-12 10:40:23

0

您不必將onLoad事件附加到主體。您可以使用如下所示的全局事件處理程序:

function init() { 
//Your function call 
} 
window.onload = init;