jQuery是一个数组吗?

ena*_*rik 7 arrays jquery

我刚刚进入jQuery,我在理解它是什么时遇到了问题.如何在jQuery对象上使用数组样式索引但jQuery不是数组?这是一个javascript的东西吗?

<ul id="myUL">
<li></li>
<li id="second"></li>
<li></li>
</ul>

var jqueryObject = $("#myUL > li");
alert(jqueryObject[1].attributes.getNamedItem("id").value);

if (jqueryObject instanceof Array) {
    alert('value is Array!');
} else {
    alert('Not an array');//this is what pops up
}
Run Code Online (Sandbox Code Playgroud)

JAA*_*lde 6

jQuery集合是一个Object,其属性编号为Array索引(以及一些其他属性和方法),每个属性都包含一个匹配的元素.它还有一个length属性来告诉你选择器匹配了多少元素.请参阅http://api.jquery.com/Types/#jQuery

此外,是的,它部分是JavaScript的东西 - JS允许您使用点表示法或方括号表示法访问对象的属性.


ndp*_*ndp 5

根据文档,没有:

jQuery对象本身就像一个数组; 它有一个length属性,对象中的元素可以通过它们的数字索引[0]到[length-1]来访问.请注意,jQuery对象实际上不是Javascript Array对象,因此它没有真正的Array对象的所有方法,例如join().