js函数不在IE 8中的数组元素中运行

时间:2013-09-03 12:39:45

标签: javascript jquery internet-explorer-8

当我尝试执行此代码时:

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

消息:

  

object不支持属性或方法'addclass'

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

3 个答案:

答案 0 :(得分:2)

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

您可以使用.eq()

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

答案 1 :(得分:1)

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

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

答案 2 :(得分:0)

更改

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

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

它不漂亮,但它应该有用。