判断一个对象是否为jquery对象的方法

当我们在用jquery的each做循环遍历的时候常常会使用到this,而有时候我们不知道this所指的到底是什么,因为要使用jquery的方法前提此对象必须是jquery对象。
另外要判断一个javascript的对象是什么类型,可以使用typeof,但是typeof只能判断出js的基础对象(string,boolean,number,object).
判断一个对象是否为jquery对象可以用 obj instanceof jQuery

var obj = $("div");
if (obj instanceof jQuery) {
	alert("这是一个jQuery对象");
} else {
	alert("这是一个其它对象")
}

obj.each(function() {
	console.log(this instanceof jQuery); //false
	console.log($(this) instanceof jQuery); //true
})

其他:

$(this)[0]
$(this).get(0)
$(this).toArray()[0];
以上3种写法等价

不是转化,是获取内部的DOM对象引用.
jQuery的有2个核心 一个是查询 一个是方法插件
$(‘..‘)是一个工厂方法 内部调用了查询(根据css的定位方式获取符合条件的所有dom引用,还有其他特殊情况情况)
并返回一个 jQuery对象 该对象是一个扩展的Array 所有查询的dom全放在这个Array中.
则 get(index) 内部 代码是  return this[index]

时间: 2024-08-03 03:05:15

判断一个对象是否为jquery对象的方法的相关文章

js判断一个对象是否为空对象

最近遇到一个问题,用vue循环一个数组,展示一些海报图片.数组为空的话是不会遍历的,为了不让能够出现默认图片,这也就需要在数组中增加一个默认空对象arr[{}].问题来了,提交的时候怎么判断这个对象是空的呢? 简单粗暴的判断 因为是展示海报图片,每个对象下都有url属性,所以最直接的判断当前object的url属性 if (arr[0].url) { ... } 这个方法是无法判断arr为空的情况,如果arr[0]是个null,那么浏览器回抛出Cannot read property 'url'

javascript判断一个对象是否是空对象,localStorage和sessionStorage区别

判断一个对象是否是空对象: var obj ={}; 1. if(JSON.stringify(newobj)=="{}"){ console.log('kongduixiang')  }else{ console.log('hehe')  } 2. if(Object.keys(newobj).length == 0){ console.log('kongduixiang'); } localStorage和sessionStorage区别: localStorage和session

在JavaScript中重写jQuery对象的方法

jQuery是一个很好的类库,它给我们解决了很多的客户端编程,任何东西都不是万能的,当它不能满足我们的需求时我们需要对它进行重写,同时也不要影响其原有的功能或者修改其原有的功能:我现在的web应用程序大多数时候的数据交互都是通过Ajax来完成的,这样就可以将一些隐藏字段的数据保存在HTML标签的属性中,使HTML标签的代码量减少,如:ID,Timestamp等等,这些不需要用户输入但又不得不提交的字段,通过表单提交的做法是 <input name="ID" value="

JavaScript中判断一个对象是否为&quot;空对象”

JavaScript中判断一个对象是否为"空对象" 这里指的"空对象"是类似于:{ } 和 new Object() 这样的. 具体的代码实现和原理如下: // 所谓"空对象",即不包括任何可枚举(自定义)的属性.简而言之,就是该对象没有属性可以通过for...in迭代. // for-in循环会同时枚举非继承属性和从原型对象继承的属性,如果有,则立即返回false,否则默认返回true. isEmptyObject: function (obj

为Jquery类和Jquery对象扩展方法

jquery.fn.extend与jquery.extend jQuery为开发插件提拱了两个方法,分别是: JavaScript代码 jQuery.fn.extend(object); jQuery.extend(object); jQuery.extend(object); 为扩展jQuery类本身.为类添加新的方法. jQuery.fn.extend(object);给jQuery对象添加方法. fn 是什么东西呢.查看jQuery代码,就不难发现. JavaScript代码 jQuery

js如何判断一个对象{}是否为空对象,没有任何属性

前段时间用js写了一个类似"angularjs"用于数据绑定的东西,功能是比较简单了, 通常应该传进来的是一个ArrayList JSON对象数组, 但有时候通过AJAX方法调用返回的是一个JSON对象,而不是数组! 为了兼容这种情况使用了以下代码: if (typeof model.rows === "object" && !(model.rows instanceof Array)){ model.rows = [model.rows]; } 这

判断一个对象是不是数组的三种方法

1.使用instanceof操作符 2.Array.isArray()  (ES5新增的方法) 3.使用Object.prototype上的原生toString()方法判断. 使用方法: Object.prototype.toString.call(value) var a={}; var b=[]; var frame=document.createElement("iframe");//创建一个框架 document.body.appendChild(frame); var c=w

判断一个对象是否是控对象;

1 function isEmptyObject ( obj ) { 2 if (typeof onj != 'object') return false; 3 for (var i in obj ) { 4 return false; 5 } 6 return true; 7 }

js/jquery判断一个对象是否为空

一.js判断一个对象是否为空对象 1)通过JSON自带的.stringify方法来判断 //JSON自带的stringify方法,将json转成json字符串 var c = {}; if(JSON.stringify(c) == "{}"){ console.log("是空对象"); } 2)for...in...遍历属性 //for in var a = {}; var b = {foo:'bar'}; function aa(a){ for(var attr