在jquery中检测“元素已创建”
我有几个文本框,它们都属于同一个css类MyClass。我正在运行时创建HTML。我想知道如何检测一个新的MyClass文本框被添加到DOM中 我想要这样的东西:在jquery中检测“元素已创建”,jquery,Jquery,我有几个文本框,它们都属于同一个css类MyClass。我正在运行时创建HTML。我想知道如何检测一个新的MyClass文本框被添加到DOM中 我想要这样的东西: $('.MyClass').wascreated(function () { //do something }); 谢谢你的建议。Livequery似乎可以做到这一点,我还没有测试插件。我在Stackoverflow上找到了这个: 如果像上面那样只传递一个回调函数,它将为每个 它发现的新元素,包括最初的元素和添加的元素 Livequ
$('.MyClass').wascreated(function () {
//do something
});
谢谢你的建议。Livequery似乎可以做到这一点,我还没有测试插件。我在Stackoverflow上找到了这个: 如果像上面那样只传递一个回调函数,它将为每个 它发现的新元素,包括最初的元素和添加的元素
Livequery可以在这里找到:我要么向新创建的项添加一个额外的类,要么添加数据 最好添加一个额外的类,因为使用标准jQuery选择器可以很容易地选择这个类
要使用数据选择项目,您需要添加扩展选择器“plugin”,用类MyClass编写自己的或循环所有项,并检查数据属性是否存在。为什么不能在用jquery创建的类中添加另一个类?为什么我需要添加一个额外的类?@frenchie:我可能误解了你的问题。我认为页面上已经有类为MyClass的元素,并且动态添加了新的元素。您想知道哪些是动态添加的。你能帮我澄清一下你的问题,这样我就可以更新我的答案了吗?不,有些文本框不在页面上;它们是在ajax调用之后添加的。他们属于我的班级。在我创建它们的时候,我可以做一些事情,但问题是代码中有几个地方添加了这些文本框。现在,当我创建HTML时,我运行dosomething函数。现在,我意识到最好从所有创建HTML的函数中删除这个调用,并在我添加HTML时触发do something函数,而不管哪个函数执行此任务;在没有插件的情况下,有什么方法可以做到这一点吗?我只需要在将元素添加到DOM的同一位置对元素运行任何必要的代码:$.appendTo'container'。随便;我已经有类似的东西了。我希望从创建文本框的函数中删除do something函数。我记得读过那个讨论,所以我搜索了整个论坛,发现了几个话题:
$('.MyClass').livequery(function() {
alert('.myClass added to dom');
});