【发布时间】:2013-03-22 22:41:48
【问题描述】:
$.fn.foo = function() {
console.log($(this));
};
$("#foo").foo();
$(document).foo();
如何判断函数内的天气$(this)是否为$(document)?
在this question,有人建议
1. if (obj instanceof HTMLDocument)
2. if (Object.prototype.toString.call(obj) == "[object HTMLDocument]")
3. $obj.is('html')
但它们都不起作用。
【问题讨论】:
-
是的,这就是我要证明的,但声明
$(this) == $(document)返回false。 -
这行不通。即使
$(document) == $(document)也会导致错误,因为它们是两个不同的对象。 -
不,
$(this)是 jquery 对象,this不是 -
@DavidFregoli 在这里阅读 -
this是一个 jQuery 对象 docs.jquery.com/Plugins/Authoring#Context -
抱歉没有注意到它在扩展 $。然后就这样做[0] == 文档