0

我正在使用视口选择器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

4

1 回答 1

3

您正在连接thiswhich is an objectto :in-viewportwhich is a 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'));
});
于 2013-08-29T01:11:22.113 回答