我试图通过Ajax动态添加一些表单元素与jQuery.我想确保我没有两次创建相同的元素,所以我只想添加它,如果它尚未添加到DOM中.
我的所有元素都有一个唯一的CSS id,例如:
$('#data_1')
Run Code Online (Sandbox Code Playgroud)
我使用以下内容来检查元素是否已存在:
if ($('some_element').length == 0) {
//Add it to the dom
}
Run Code Online (Sandbox Code Playgroud)
但是,它仅适用于首次加载时已经是页面一部分的元素.
如何检查页面加载后动态创建的元素?
任何建议表示赞赏.
谢谢.
rah*_*hul 107
这应该适用于所有元素,无论它们何时生成.
if($('some_element').length == 0) {
}
Run Code Online (Sandbox Code Playgroud)
在ajax回调函数中编写代码,它应该可以正常工作.
sre*_*ree 14
只是为了确认您正在以正确的方式选择元素.试试这个吧
if ($('#some_element').length == 0) {
//Add it to the dom
}
Run Code Online (Sandbox Code Playgroud)
Col*_*tor 13
这个问题是关于元素是否存在以及所有答案都检查它是否存在:)微小差异但值得一提.
基于jQuery文档,检查存在的推荐方法是
if ($( "#myDiv" ).length) {
// element exists
}
Run Code Online (Sandbox Code Playgroud)
如果您希望检查缺少的元素,可以使用以下任一方法:
if (!$( "#myDiv" ).length) {
// element doesn't exist
}
Run Code Online (Sandbox Code Playgroud)
要么
if (0 === $( "#myDiv" ).length) {
// element doesn't exist
}
Run Code Online (Sandbox Code Playgroud)
请注意,在第二个选项中,我使用了===,它比==略快,并将左边的0作为Yoda条件.