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

JavaScript 2013-04-08 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属性判断对象是否存在。

文字链接:《JS/jQuery判断DOM节点是否存在

文章地址:http://www.qttc.net/201304302.html

除非标注,琼台博客所有博文均为原创,转载请加文字链接注明来源

乳名?小名?昵称?网名?均可

email,放心,我不会给你乱投广告的

想获得回访就把你的站点URL写上(没有留空)

[NOTICE]木要投放广告
[NOTICE]木要骂人,说不该说的话
[NOTICE]自由言论,但要遵纪守法

Comments 4

  • 13123123131313131313343434434
    2017-05-19 09:54:17 [ 跟帖 ]
    1 #
  • 2016-06-21 19:22:55 [ 跟帖 ]
    2 #
  • 2016-06-21 11:53:32 [ 跟帖 ]
    3 #
  • 聚聚聚聚聚聚ujujujujujujuj聚聚聚聚聚聚ujujujujujujuj聚聚聚聚聚聚ujujujujujujuj聚聚聚聚聚聚ujujujujujujuj聚聚聚聚聚聚ujujujujujujuj聚聚聚聚聚聚ujujujujujujuj聚聚聚聚聚聚ujujujujujujuj聚聚聚聚聚聚ujujujujujujuj聚聚聚聚聚聚ujujujujujujuj聚聚聚聚聚聚ujujujujujujuj聚聚聚聚聚聚ujujujujujujuj聚聚聚聚聚聚ujujujujujujuj聚聚聚聚聚聚ujujujujujujuj聚聚聚聚聚聚ujujujujujujuj聚聚聚聚聚聚ujujujujujujuj聚聚聚聚聚聚ujujujujujujuj聚聚聚聚
    2015-11-16 11:53:25 [ 跟帖 ]
    4 #