我正在使用viewport selectors jQuery插件,并试图在几个元素上执行相同的任务:
$('#something').each(function(){
var current = $(this);
if ($(this + ':in-viewport')){
console.log(current.attr('id'));
}
});
我做错了什么吗?这是我的控制台吐出的错误:
Uncaught Error: Syntax error, unrecognized expression: [object HTMLDivElement]:in-viewport
答案 0 :(得分:3)
您将this
object
与:in-viewport
string
连接起来toString
,因此对象正在转换[object HTMLDivElement]:in-viewport
并且结果是jQuery selector
,这是非法的$('#something').each(function(){
var current = $(this);
if ($(this).is(':in-viewport')) {
console.log(current.attr('id'));
}
});
。
我认为你正在寻找类似的东西:
$('#something:in-viewport').each(function(){
console.log($(this).attr('id'));
});
或者在此特定代码的更好版本中:
{{1}}