2013-07-13 37 views
0

我在運行時使用java-scriptdocument.createElement函數創建div。現在我需要執行另一個滾動動態創建的div的函數。並且還需要捕獲關鍵字div的下線事件。 任何人都可以告訴我,我怎麼能做到這一點。如何訪問由javascript創建的元素document.createElement函數

+0

如果您共享代碼,這將是更容易幫助。答案取決於以下因素:您是否將元素插入到DOM中?你有沒有給它一個ID?等。 –

+0

是的,我已經給該div一個id,並且還將此id存儲在隱藏的字段中。現在我可以調用div的滾動功能。但是我無法使用'document.getElementById (div的ID)'。你能告訴我有什麼方法可以通過使用他的id來訪問新創建的div嗎? –

+0

感謝您的額外信息,請查看工作答案。 –

回答

1

您需要將動態創建的div插入到DOM中。如果不這樣做,則無法使用document.getElementById進行檢索。您可以將您的動態創建div到元素通過調用像appendChildinsertBefore功能,這裏介紹http://www.w3schools.com/jsref/dom_obj_all.asp

在找到一個合適的地方插入你的div到DOM,你應該能夠從任何地方檢索請撥打document.getElementById("myDivId");。如果尚未創建,您還需要在創建後爲創建的div創建一個ID。整個事情看起來是這樣的:

var myDiv = document.createElement("div"); 
myDiv.id = "myDivID"; //Give it some ID 
var divsParent = document.getElementById("dynamicDivsParentElementID"); //get the element where you want to insert the div into 
divsParent.appendChild(myDiv); 
var retrievedDynamicDiv = document.getElementById('myDivID'); 

檢查出來上的jsfiddle工作:http://jsfiddle.net/qnPUF/

+0

是的,如果我們在函數內部使用'document.getElementById('myDivID')。scrollTop',我們創建一個append div作爲DOM的子項,但是當我們從另一個函數調用它時它不工作。 –

+0

我已經回答了你的問題。爲了證明從另一個函數檢索該div,我創建了另一個JSFiddle。它在文檔加載時將您的div添加到DOM。然後稍後當您單擊該按鈕時,它會通過從DOM中檢索來提醒該ID。一探究竟! http://jsfiddle.net/qnPUF/1/這已經回答了你如何檢索由createElement創建的元素的問題。如果你仍然有問題,那就在別的地方,你可能想問另外一個問題。 –

+0

對不起,我的腳本中有一些問題。 你的答案工作得很好。現在我的問題解決了。 感謝您的支持。 –

1

您可以通過在div元素創建後調用滾動功能來實現此目的。確保函數在createElement之後調用

+0

感謝它的工作。創建div元素後調用函數。 但有沒有什麼辦法從任何其他功能訪問此div(使用ID)。 –

相關問題