首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >jQuery -检查DOM元素是否已存在

jQuery -检查DOM元素是否已存在
EN

Stack Overflow用户
提问于 2011-04-04 21:12:34
回答 9查看 132.7K关注 0票数 83

我正在尝试通过jQuery通过Ajax动态添加一些表单元素。我希望确保不会创建相同的元素两次,所以我只想添加尚未添加到DOM中的元素。

我的所有元素都有一个唯一的CSS id,例如:

代码语言:javascript
复制
$('#data_1')

我使用以下代码来检查元素是否已经存在:

代码语言:javascript
复制
if ($('some_element').length == 0) {
    //Add it to the dom
}

但是,它只适用于第一次加载时已经是页面一部分的元素。

如何检查页面加载后动态创建的元素?

任何建议都是值得感谢的。

谢谢。

EN

回答 9

Stack Overflow用户

发布于 2011-04-04 21:16:39

这应该适用于所有元素,无论它们是何时生成的。

代码语言:javascript
复制
if($('some_element').length == 0) {
}

在ajax回调函数中编写代码,它应该可以很好地工作。

票数 115
EN

Stack Overflow用户

发布于 2017-01-12 13:35:52

这个问题是关于一个元素是否存在,所有答案都会检查它是否存在:)微小的差异,但值得一提的是。

基于jQuery documentation,建议检查是否存在的方法是

代码语言:javascript
复制
if ($( "#myDiv" ).length) {
    // element exists
}

如果您希望检查缺少的元素,可以使用以下两种方法之一:

代码语言:javascript
复制
if (!$( "#myDiv" ).length) {
    // element doesn't exist
}

代码语言:javascript
复制
if (0 === $( "#myDiv" ).length) {
    // element doesn't exist
}

请注意,在第二个选项中,我使用了比==略快的===,并将0放在左边作为Yoda condition

票数 25
EN

Stack Overflow用户

发布于 2013-07-19 12:01:47

只是为了确认您以正确的方式选择了元素。试试这个

代码语言:javascript
复制
if ($('#some_element').length == 0) {
    //Add it to the dom
}
票数 14
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/5538961

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档