• JS/jQuery判断DOM节点是否存在


    JS原生判断DOM节点是否存在页面中

    JavaScript原生函数没有提供判断DOM节点是否存在方法,我们通常获取DOM节点几乎都是document.getElement..方法,会返回一个object数组合集,我们可以通过object[0],object[1]这样来访问这个合集的每一个对象。既然返回的是数组合集,那么就有length属性,而length大于等于1即表示DOM节点存在页面中

    代码:

    Object.prototype.exist = function(){ 
        if(typeof this !='undefined' && this.length>=1){
            return true;
        }
     
        return false;
    };

    使用:

    假设页面有如下节点

    <div>这里是DIV节点</div>
    <div>这里是DIV节点</div>
    <span>这里是span节点</span>

    判断节点是否在页面:

    var is_exist = document.getElementsByTagName('div').exist();
    alert(is_exist);    // true
     
    var is_exist = document.getElementsByTagName('span').exist();
    alert(is_exist);    // true
     
    var is_exist = document.getElementsByTagName('p').exist();
    alert(is_exist);    // false

    注意:如果使用是使用document.getElementById()方法获取对象的就不能使用exist()方法,因为根据ID取节点对象的方法在取不到节点的情况下会返回一个空对象,不会集成原型exist()函数,所以会报错!所以如果是根据ID取对象的可以直接if(obj)这样既可判断DOM节点是否存在页面中

    jQuery判断DOM节点是否存在页面中

    可以这么干

    添加原型:

    (function($) {
        $.fn.exist = function(){
            if($(this).length>=1){
                return true;
            }
            return false;
        };
    })(jQuery);

    使用方法:

    假如页面有如下DOM节点判断:

    <div id="a">这里是id=a节点</div>
    <div>这里是DIV节点</div>
    <div>这里是DIV节点</div>
    <span>这里是span节点</span>
    alert($('#aaa').exist()); // false
    alert($('#a').exist()); // true
    alert($('div').exist()); // true
    alert($('p').exist()); // false

    以上两种方法其实都是根据对象集合的length属性判断对象是否存在。

  • 相关阅读:
    神仙题1.0
    一些小技巧(持续更新。。)
    模板(持续更新中。。)
    「CTS2019 | CTSC2019」氪金手游(容斥+概率计数)
    Emacs配置
    AGC034E Complete Compres(dp)
    「清华集训 2017」榕树之心(换根dp)
    [NOI2018]冒泡排序 (卡特兰数)
    「清华集训 2017」小 Y 和二叉树 (贪心)
    「雅礼集训 2018 Day1」图 (dp套dp)
  • 原文地址:https://www.cnblogs.com/tonyIt/p/3954377.html
Copyright © 2020-2023  润新知