0

当我尝试执行此代码时:

$('.pagination-item')[$('.blog-item:visible').index()].addClass("active");

在 IE8 中有这样的信息:

对象不支持属性或方法“addclass”

实际上,甚至 .hide() 或 .show() 都不能针对 $('.pagination-item')[0] 执行。我怀疑IE8中的数组元素管理有问题。你有什么线索吗?为什么会出现这个错误?

4

3 回答 3

2

$('.pagination-item')[$('.blog-item:visible').index()]返回一个 dom 对象引用,而不是 jQuery 包装器对象,因此它没有该addClass方法。

您可以使用.eq()

$('.pagination-item').eq($('.blog-item:visible').index()).addClass("active");
于 2013-09-03T12:40:39.447 回答
1

当您像这样使用索引器访问 jquery 对象时,返回的对象是一个没有 jquery 方法的 DOM 对象。你可以试试:

$('.pagination-item:eq('+ $('.blog-item:visible').index() +')').addClass("active");
于 2013-09-03T12:41:31.763 回答
0

改变

$('.pagination-item')[$('.blog-item:visible').index()].addClass("active");

    var index = $('.blog-item:visible').index();
    $('.pagination-item').eq(index).addClass("active");

它不漂亮,但它应该工作。

于 2013-09-03T12:43:11.657 回答