使用jQuery检查ID是否存在

时间:2012-07-22 12:56:54

标签: javascript jquery

  

可能重复:
  Finding whether the element exists in whole html page

有没有办法检查jQuery中是否存在ID $('#ID')

前:

$('#cart').append('<li id="456">My Product</li>');

在运行append()之后,我想检查我的ID $('#456')是否存在。如果它退出我想要更改文本,否则我想添加一个新的

  • $(document).ready(function() {
            $('#RAM,#HDD').change(function() {
    
                var product = $(this).find("option:selected").attr("product");
    
                $.ajax({
                    url: 'ajax.php',
                    type: 'post',
                    data: $(this).serialize(),
                    dataType: 'json',
                    success: function(data) {
                        $('#cart').empty();
                        $.each(data, function(index, value) {
                            $('#cart').append('<li id="'+product+'">'+ value['price'] +'</li>');
                        });
                    }
                });
            });
        });
    
  • 4 个答案:

    答案 0 :(得分:23)

    if ($('#456').length)
    {
     /* it exists */
    }
    else
    {
     /* it doesn't exist */
    }
    

    答案 1 :(得分:3)

    您可以执行此操作以查看选择器是否存在:

    jQuery.fn.exists = function(){return this.length>0;}
    
    if ($(selector).exists()) {
        // Do something
    }
    

    答案 2 :(得分:0)

    嗯,我不确定你为什么要这样做,但为了做到这一点,你需要稍微重新安排你的代码。

    success: function(data) {
        var cart = $('#cart');
        cart.empty();
        $.each(data, function(index, value) {
            cart.append('<li id="'+product+'">'+ value['price'] +'</li>');
        });
        if(cart.find('#456').length) {
            cart.find('#456').text('Whatever you would like');
        }
    }
    

    我'缓存'您的购物车选择器以保存DOM查找。

    答案 3 :(得分:0)

    function checkExists(sel) {
        var status = false;
        if ($(sel).length) status = true;
        return status;
    }
    

    <强> Working sample