请问一个jQuery的问题,谢谢

$(document).ready(function(){
//必须通过class属性获取jQuery包装的div数组,如果用id获取,则不行
var divs =[b] $("div.xu"); [/b] alert(divs.length);
for(i=0; i <divs.length; i++) {
divs[i].innerHTML = "hello xu" + i;
}
});
我想问一下,就是上面的divs 是通过$获取的jQuery对象,怎么遍历他时,divs[i]又变成了JavaScript原来的对象了呢(因为可以使用innerHTML不是吗)

还有一个问题就是如果把所有的div改成id为xu,则通过[color=indigo]$("div#xu")[/color]则不能把所有的div取出来放到divs里面不知为什么,难道非要通过设置class属性才可以吗,不知我说清楚了没有,希望前辈给我解答

第一个问题:不管是通过jquery,还是通过其它js框架,得到的都是js对象,只是封装的形式不一样。
第二个问题:根据id得到永远是唯一的,所以根据id是无法得到数组的。但是像根据class,name,tag等,获取对象,是可以得到对象数组的。



<pre><code> function createA() { var arrayDiv = $(&quot;div&quot;); alert(arrayDiv.length) for (var i = 1; i &lt; arrayDiv.length; ++i) { arrayDiv[i].innerHTML = i; } } &lt;/script&gt; &lt;title&gt;&lt;/title&gt; </code></pre> <p></head><br> <body onload="createA()"><br> <form id="form1" runat="server"><br> <div> <br> </div><br> <div> <br> </div><br> <div> <br> </div><br> </form><br> </body><br> 这样就遍历了,放入数组里面,或者使用eq</p>

追加一个回复,如果是要取值就是
for (var i = 1; i < arrayDiv.length; ++i) {
alert(arrayDiv[i].innerHTML);
}
下标1开始