什么是jquery对象数组

一般高级语言中的对象数组,例如c++、java中,可以理解为一个数组中的每一个元素都是一个对象,通过数组名+下标的方式访问其中的每个元素。而jquery中的对象数组怎么理解,通过数组名+下标的方式访问返回undefined,但有可以通过for..in的方式遍历,再遍历的过程中通过下标的方式却有可以返回内容,到底怎么解释呢?

通过标签选择器获取的jQuery对象数组举例:


<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"

 "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">  

 

<html xmlns="http://www.w3.org/1999/xhtml">  

<head>  

    <title></title>  

 

    <script src="../myjs/jquery-1.4.2.js" type="text/javascript"></script>  

    <script  type ="text/javascript" >  

        $(function() {  

            $("p").text("这是p标签");  

        });  

    </script>  

</head>  

<body>  

 <p></p>  

  <p></p> <p></p> <p></p> <p></p>  

  <p></p>  

</body>  

</html>  

运行结果:

温馨提示:答案为网友推荐,仅供参考
第1个回答  2015-03-27

介绍jQuery操作对象数组元素的3种方法以及一种错误方法,这里记录一下,防止下次再犯,有需要的小伙伴也可以参考下。

代码如下:

 <div id="div1">
     <span>a</span>
     <span>b</span>
     <span>c</span>
 </div>

1.错误方式:不能用[]方式取jquery对象数组,如下:

 $(function() {
     var div_span = $("#div1 span");
     for( var i = 0; i < div_span.length; i++ ) {
         div_span.[i].html(i);
     }
 });

这样无效.



2.可以用jquery的eq()方法来选择:

 for( var i = 0; i < div_span.length; i++ ) {
     div_span.eq(i).html(i);
 }


3.可以用each()方法来遍历:

 $(function() {
     var div_span = $("#div1 span");
     var i = 0;
     div_span.each( function(){
         $(this).html(i);
         i++;
     });
 });

each()遍历的时候,如果用$(this)得到的是jquery对象,如果直接用this,得到的是DOM对象


4.纯js代码获取的DOM对象数组,可以用[]的方式获取数组元素


后面3种是正确的方法,第一种是错误的,把他放在第一个,是因为要强调下,以后不能再犯同样的错误了,可要看仔细哈。

追问

不要复制粘贴的内容...

本回答被网友采纳
第2个回答  2015-04-02
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>checkbox</title>
<script src="js/jquery-1.3.2.js" type="text/javascript"></script>
<script src="js/1.js" type="text/javascript"></script>
</head>

<body>
<table id="table1">
<tr>
<td><input type="checkbox" value="1"/>1</td>
<td id="k_1"><input type="text" name="student" id="s_1" readonly="true"/></td>
</tr>
<tr>
<td><input type="checkbox" value="2"/>2</td>
<td id="k_2"><input type="text" name="student" id="s_2" readonly="true"/></td>
</tr>
<tr>
<td><input type="checkbox" value="3"/>3</td>
<td id="k_3"><input type="text" name="student" id="s_3" readonly="true"/></td>
</tr>
<tr>
<td><input type="checkbox" value="4"/>4</td>
<td id="k_4"><input type="text" name="student" id="s_4" readonly="true"/></td>
</tr>
</table>
</body>
</html>

-------------------------------------------------------------
$(document).ready(function() {
$("td[id^='k_']").hide();
var check = $(":checkbox"); //得到所有被选中的checkbox
var actor_config; //定义变量
check.each(function(i){
actor_config = $(this);
actor_config.click(
function(){
if($(this).attr("checked")==true){
$("#k_"+$(this).val()).show();
}else{
$("#k_"+$(this).val()).hide();
}
}
);
});

});