我正在尝试通过jQuery通过Ajax动态添加一些表单元素。我希望确保不会创建相同的元素两次,所以我只想添加尚未添加到DOM中的元素。
我的所有元素都有一个唯一的CSS id,例如:
$('#data_1')
我使用以下代码来检查元素是否已经存在:
if ($('some_element').length == 0) {
//Add it to the dom
}
但是,它只适用于第一次加载时已经是页面一部分的元素。
如何检查页面加载后动态创建的元素?
任何建议都是值得感谢的。
谢谢。
发布于 2011-04-04 21:16:39
这应该适用于所有元素,无论它们是何时生成的。
if($('some_element').length == 0) {
}
在ajax回调函数中编写代码,它应该可以很好地工作。
发布于 2017-01-12 13:35:52
这个问题是关于一个元素是否存在,所有答案都会检查它是否存在:)微小的差异,但值得一提的是。
基于jQuery documentation,建议检查是否存在的方法是
if ($( "#myDiv" ).length) {
// element exists
}
如果您希望检查缺少的元素,可以使用以下两种方法之一:
if (!$( "#myDiv" ).length) {
// element doesn't exist
}
或
if (0 === $( "#myDiv" ).length) {
// element doesn't exist
}
请注意,在第二个选项中,我使用了比==略快的===,并将0放在左边作为Yoda condition。
发布于 2013-07-19 12:01:47
只是为了确认您以正确的方式选择了元素。试试这个
if ($('#some_element').length == 0) {
//Add it to the dom
}
https://stackoverflow.com/questions/5538961
复制相似问题