我希望我的jQuery插件的行为方式不同,在调用时$(window)
的选择。 如何检查,如果window
是在设置? 我试图至今:
>>> $(window) == $(window)
false
>>> $(window).is(window)
false
>>> $(window).filter(window).length
0
(所有那些做工精细的document
,顺便说一句。)当然,我随时可以检查this[0]
但也有优势情况下,像$('a').add(window)
未通过这种方式照顾。
我还可以通过功能筛选:
>>> $(window).filter(function() { return this === window; }).length
1
但我希望多一点“的jQuery十岁上下的”或通用的办法。
您可以使用索引() ,并将它传递的window
对象。 它将返回-1
如果window
对象不是集合的一部分,或一组内的从零开始的索引,否则:
>>> $(window).index(window) >= 0
true
>>> $("a").add(window).index(window) >= 0
true
>>> $("a").index(window) >= 0
false
据我所知,只有$(window).parent()
$(document).parent()
返回一个空数组。 也许你可以使用像
var test = window
//undefined
$(test).parent().length == 0 && !$(test).is(document)
//true
test = document
//#document
$(test).parent().length == 0 && !$(test).is(document)
//false
的.is($(window))
工作原理:
$(window).is($(window)) //true
$('a').add(window).is($(window)) //true