addClass到数组内的元素

时间:2014-12-23 22:03:29

标签: javascript jquery arrays addclass

你能帮我理解为什么这不起作用吗?

var elementTab1 = $('#tab1 .item-media.modificato');
elementTab1[0].addClass('selezionato');

通过此错误

  

TypeError:undefined不是函数(评估'elementTab1 [0] .addClass('selezionato')')

由于

2 个答案:

答案 0 :(得分:7)

elementTab1已经是一个jQuery对象。它包含DOM中的匹配元素数组。使用[0]访问第一个索引将返回一个可以访问本机JavaScript API(而不是jQuery)的本机元素。

jQuery确实提供了从数组中获取项目的好方法。它是.eq()

elementTab1.eq(0).addClass('selezionato');

答案 1 :(得分:6)

访问JQuery对象的元素(通过elementTab1 [0])调用返回DOM元素,而不是JQuery元素

DOM元素没有.addClass方法。

以下代码适合您:

$(elementTab1[0]).addClass(".selezionato");

或者,只需跳过JQuery并使用本机DOM API:

document
   .querySelector("#tab1 .item-media.modificato")
   .classList
   .add(".selezionato");