繁体   English   中英

如何访问动态创建的对象

[英]How to access a dynamically created object

我正在动态创建对象。 我想知道如何访问它? 其中一些对象需要通过其他方式隐藏,而不是单击(以编程方式,按钮单击,链接等)。 所以我认为我不能使用.on。 我将如何访问这些以隐藏它们?

$(document).ready(function() {
$('body').append('<div id="testdiv">Test DIV</div>');

}); 

$('#testdiv').hide();

您颠倒了逻辑。 而不是.append() ,你应该使用.appendTo()

var myRef = $("<div id=\"testdiv\">Test DIV</div>").appendTo( document.body );

这样,您可以保留对新创建的DOM节点 / jQuery对象的引用。

myRef.hide();

最好将缓存的引用存储到变量中,这样可以说可以从纯ECMA land访问节点。 重新查询 DOM节点的需求效率低得多。

请注意: var声明的变量仅具有函数作用域 这意味着,如果要从就绪处理程序的 “外部”访问该引用,则需要在父上下文中声明该变量。

你已经应该工作,除了你需要移动$('#testdiv').hide(); 在文档内部就绪(因此在创建元素之前不要调用它)。

另一个答案是更清洁的方式,以及我这样做的方式。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM