.addClass不适用于单个跨度

时间:2018-07-06 12:16:36

标签: jquery

$(event.currentTarget).closest('.segment').find('span').addClass('hide')

我已经在click函数上编写了这一行,并且工作正常。问题在于它可以在返回的所有三个范围内工作。我只希望第二个跨度添加HIDE类。如果我尝试使用以下代码,则说明.addClass()不是函数。

$(event.currentTarget).closest('.segment').find('span')[0].addClass('hide')

3 个答案:

答案 0 :(得分:6)

使用.eq(index)方法/ :eq(index) selector代替[0]

由于[0]返回没有该方法的DOM元素的引用,因此会引发错误。

$(event.currentTarget).closest('.segment').find('span').eq(0).addClass('hide')
$(event.currentTarget).closest('.segment').find('span:eq(0)').addClass('hide')

答案 1 :(得分:1)

如果您需要将跨度定位到特定索引,也可以使用:nth-​​child选择器。

$(event.currentTarget).closest('.segment').find('span:nth-child(2)').addClass('hide')

答案 2 :(得分:0)

您是否尝试过eq?也许是这样的:

$(event.currentTarget).closest('.segment').find('span:eq(1)').addClass('hide');