可以操作javascript生成的元素吗?

可以操作javascript生成的元素吗?,javascript,dynamic,object,Javascript,Dynamic,Object,我有一个用javascript动态生成的页面,它包含几个输入字段和一个按钮。当我点击按钮时,什么都没有发生……是因为它是一个javascript对象而不是一个“真正的”dom对象吗?如果是,是否有一种与对象交互的方法 我只是写了一个简单的警告,看看按钮是否正常工作 jQuery("#button").click(function() { alert("yes it's working"); }); 在第一个页面加载时,这是有效的…我相信在第一个页面加载时,它是PHP生成的,当我点击另一个

我有一个用javascript动态生成的页面,它包含几个输入字段和一个按钮。当我点击按钮时,什么都没有发生……是因为它是一个javascript对象而不是一个“真正的”dom对象吗?如果是,是否有一种与对象交互的方法

我只是写了一个简单的警告,看看按钮是否正常工作

jQuery("#button").click(function() {
   alert("yes it's working");
});
在第一个页面加载时,这是有效的…我相信在第一个页面加载时,它是PHP生成的,当我点击另一个部分时,同样的按钮会出现,但页面不会刷新,所以这让我相信当我点击另一个部分时,它是用JS动态重新生成的


现在,如果我单击按钮,什么也不会发生…没有错误或警报…

您需要使用
.live
,因为在分配处理程序时,元素不存在

$('#button').live('click', function() {
});

如果为了提高效率,您需要使用多个元素来执行此操作,那么您还应该查看委托。

我想我明白您的意思

当您运行
jQuery(“#按钮”)
时,它会在那里搜索元素。事件附加到按钮本身,而不是查询字符串
#button

然而,jQuery确实提供了您想要的行为

jQuery('#button').live('click', function () { /* on click event */ });

live
附加到查询字符串,而不是元素,因此它将应用于将来生成的任何
#按钮。

可以显示您的代码吗?你必须指定如果你点击按钮会发生什么。如果您正确地创建了元素,那么它们就是“真正的”DOM对象。欢迎使用SO。请出示一些代码。一般来说,所有DOM对象都是平等的,不管它们是来自HTML源代码还是Javascript。您需要提供更多详细信息。会发生什么?给出生成内容的示例,以及您对生成的HTML的期望。您生成的HTML应该像未生成的HTML一样,假设它是正确生成的。JavaScript生成的元素与所有其他元素位于相同的DOM中,因此没有区别。一些代码会很有帮助。感谢大家的快速响应,我已经编辑了我的问题,以更好地说明问题为什么我没有想到…我将使用livequery,因为我已经加载了…谢谢,这就是原因!!为什么我没有想到…我将使用livequery,因为我已经加载了它…谢谢,这就是原因@Rick-注意,jQuery的新版本内置了
live
,并且不需要插件:)哦,真的吗?非常感谢…我将使用live then…当你说更新时,如1.4.2及以上?还是所有的1.4+?@Rick-已经有一段时间了,@Rick:请注意ID必须是唯一的。您不能有多个ID为
按钮
的按钮。