如果元素存在,Jquery insertAfter只返回一次

时间:2011-05-31 06:14:20

标签: jquery

如何检查元素是否存在,如果确实存在,我希望insertAfter无效。如果元素不存在,那么我希望insertAfter是valib但只有一次。我的目标是发送只有一次insertAfter如果一个元素不存在并且它没有发送任何东西

3 个答案:

答案 0 :(得分:9)

做一个长度检查。假设你有一个选择器#sel,并且你想在它之后插入一些东西。

var foo = 'something';
if ($('#sel').length) {
   //do something if elem is present
} else {
    $('#sel').insertAfter(foo);
}

答案 1 :(得分:2)

您可以通过检查任何jQuery对象的length属性来检查元素是否存在。

答案 2 :(得分:1)

根据您的需要,在您选择的事件处理程序中放置以下内容:

if (!$('elementID').length) {
    $('<div id="elementID" />').insertAfter('elementSelector');
}

例如:

$('elementSelector').once().click(
    function(){
        if (!$('elementID').length) {
            $('<div id="elementID" />').insertAfter('elementSelector');
        }
    });

参考文献: