2013-07-13 38 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)。 –

相关问题