答案 0 :(得分:1)
jQuery集合是具有长度的对象,通常称为"类似数组"
它们包含本机DOM节点,以及不同的jQuery" stuff"
因为集合具有长度,所以可以使用括号表示法访问底层DOM节点,但这会为您提供本机DOM节点,而不是jQuery对象,而本机DOM节点不具有addClass
方法,jQuery对象。
您应该使用eq()
来获取仅包含第一个元素的新jQuery集合
传递的数字是您想要获得的元素的索引,它是从零开始的,因此0
是第一个元素。
$("div").eq(0).addClass("test");
答案 1 :(得分:0)
从
更新$("div")[0].addClass("test");
到
$($("div")[0]).addClass("test");
答案 2 :(得分:0)
addClass
,因此您需要确保将$("div")[0]
转换为该值,然后将其放入$()
:
$($("div")[0]).addClass("test");
希望有所帮助。
答案 3 :(得分:0)
您可以尝试first
方法而不是[0]
,这将返回一个jQuery对象,您可以在其上调用addClass
方法。
$("div").first().addClass("test");
答案 4 :(得分:0)
使用jQuery's eq-selector选择第n个项目。 EG:
$("div").eq(0).addClass("test");
div{
height:30px;
width: 30px;
border:1px black solid;
display:inline-block;
}
section{
font-size:0;
}
.test{
background-color: brown;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<section>
<div></div>
<div></div>
<div></div>
<div></div>
<div></div>
<div></div>
<div></div>
<div></div>
<div></div>
<div></div>
</section>
答案 5 :(得分:0)
可替换地:
$("div").first().addClass("test"); //return a jQuery object
$("div").eq(0).addClass("test"); //zero-based index
$("div").filter(function(index, el) {
return index === 0;
}).addClass("test");
答案 6 :(得分:0)
因为$('div')[0]
不是jQuery对象。
我早就忘记了jQuery,但试试这个:
$($("div")[0]).addClass("test"); // Works