当我们在用 jQuery 的 each 做循环遍历的时候常常会使用到 this, 而有时候我们不知道 this 所指的到底是什么, 因为要使用 jQuery 的方法, 前提此对象必须是 jQuery 对象. 那么如何判断是否为 jQuery 对象?
要判断一个 JavaScript 的对象是什么类型, 可以使用 typeof, 但是 typeof 只能判断出 JS 的基础对象 (string,boolean,number,object)
而, 判断一个对象是否为 jQuery 对象可以用 object instanceof jQuery
示例 1:
- var obj = $("div");
- if(obj instanceof jQuery){
- alert("这是一个 jQuery 对象");
- }else{
- alert("这是一个其它对象")
- }
示例 2:
- $(".otherWeek").each(function(){
- console.info(this instanceof jQuery); //false
- console.info($(this) instanceof jQuery); //true
- })
判断是否是有效 jQuery 对象再加上 length 属性
$('body') instanceof jQuery && $('body').length
来源: http://www.css88.com/qa/jquery/15568.html