你能帮我理解为什么这不起作用吗?
var elementTab1 = $('#tab1 .item-media.modificato');
elementTab1[0].addClass('selezionato');
通过此错误
TypeError:undefined不是函数(评估'elementTab1 [0] .addClass('selezionato')')
由于
答案 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");