use*_*156 0 jquery document object
$.fn.foo = function() {
console.log($(this));
};
$("#foo").foo();
$(document).foo();
Run Code Online (Sandbox Code Playgroud)
如何判断$(this)功能内部的天气$(document)?
在这个问题上,人们建议
1. if (obj instanceof HTMLDocument)
2. if (Object.prototype.toString.call(obj) == "[object HTMLDocument]")
3. $obj.is('html')
Run Code Online (Sandbox Code Playgroud)
但它们都不起作用.
怎么样简单......
if (this[0] === document)
Run Code Online (Sandbox Code Playgroud)
...因为this内部jQuery函数对应于jQuery对象(而不是HTML对象).即使这个对象是空的,this[0]仍然是一个有效的表达式 - 它只是undefined.
另一种方法是使用jQuery 是方法:
if ($(this).is(document))
Run Code Online (Sandbox Code Playgroud)
......因为它也接受了DOMElement作为一个参数.