jquery对象与dom对象的判断方法

在使用js时如果引入了jquery框架,在操作js对象时,如果不知道这个对象是jquery对象还是dom对象,在调用的时候就会出错。所以需要对js对象的类型做判断。

JQuery

判断一个对象是否是JQuery对象,可以用instanceof。

var obj = $("button");
if(obj instanceof jQuery){
    alert("Is JQuery Object.");
}else{
    alert("Is Not JQuery Object.")
} 

DOM

由于浏览器的问题,判断一个对象是否是DOM对象,要稍微复杂一些,在DOM Level2标准中定义了一个HTMLElement对象,它规定所有的DOM对象都是HTMLElement的实例,所以通常可以以此来判断是否为DOM对象,但是有些浏览器不支持,或者虽然支持但是有区别如Chrome、Opera中HTMLElement的类型为function,这样就需要通过一些特征来进行检测,如nodeType、nodeName等。

function isDOM(obj){
	if(typeof HTMLElement === 'object'){
		return obj instanceof HTMLElement;
	}else{
		return obj && typeof obj === 'object' && obj.nodeType === 1 && typeof obj.nodeName === 'string';
	}
}

 

你可能感兴趣的:(JavaScript,JQuery)