SyntaxError:missing:属性id之后

时间:2012-09-05 15:48:06

标签: javascript

$('.pagination ul li').each({ 
if( $(this).index(this) > 2  )
{
   $(this).hide();
}
 });

SyntaxError:missing:属性id出现问题后?

2 个答案:

答案 0 :(得分:12)

使用function之前的关键字{},否则它将被解释为对象文字。

$('.pagination ul li').each(function() { 
    if ($(this).index(this) > 2) {
        $(this).hide();
    }
});

此外,$(this).index(this)没有达到您的预期。您想检查元素所在的索引是否大于2吗?请改用此版本:

$('.pagination ul li').each(function(idx) { 
    if (idx > 2) {
        $(this).hide();
    }
});

答案 1 :(得分:4)

您需要传递.each一个function。没有function(),它将被读作对象({})。

$('.pagination ul li').each(function(){ 
    if($(this).index(this) > 2){
        $(this).hide();
    }
});

P.S。 $(this).index(this)不符合您的想法。它将在this内搜索this,因此它始终会返回0

如果您想要liul的索引,请使用.each中的index参数。

$('.pagination ul li').each(function(index){ 
    if(index > 2){
        $(this).hide();
    }
});

P.P.S。如果您只想隐藏li的{​​{1}},那么您可以更轻松地执行此操作:

index > 2