日期:2014-05-16  浏览次数:20646 次

jquery如何通过id选择器获取的length长度
脚本如下:
<body>

<select id="test1">
<option>11</option>
</select>
<select id="test1">
<option>11</option>
</select>
<select id="test1">
<option>11</option>
</select>
<script type="text/javascript">
     $s=$("#test1");
     alert($s.length);
     </script>
</body>
打印出来的长度为:1
不是应该为3吗?
------解决方案--------------------
<body>
 <select class="test1">
    <option>11</option> 
</select>
<select class ="test1">
    <option>11</option> 
</select>
<select class="test1">
    <option>11</option> 
</select>
<script type="text/javascript">
   $s=$(".test1");
   alert($s.length);
</script>

</body>

一个页面只能存在唯一的一个id class可以存在多个
------解决方案--------------------
顶1#
HTML中  ID是唯一识别的  和你身份证一样的。。  你可以用class获取   
jq选择器
ID   var a =  $("#test1")
class  var b = $(".test")

   $.each(b,function(a,a_item){
   alert(a+“:”+a_item)
})
------解决方案--------------------
通过ID选择器,多个ID相同的元素,只会选择一个。
------解决方案--------------------
$("select[id='test1']").size();试一下这个,如果不行那就不行了
------解决方案--------------------
或者试一下$("body").find("#test1")
------解决方案--------------------
我试了$("select[id='test1']").size();这种是可以的
------解决方案--------------------
把id改class:
 class="test1"


获取所有class为test1的对象: 
$(".test1")

获取第1个class为test1的对象:
$(".test1").eq(0)

对class为test1的元素迭代,对匹配的每一个元素都执行相同的操作:
  $(".test1").each(function(){
    //代码
  });

示例代码:

<select class="test1">
<option value="值11">文本11</option>
</select>
<select class="test1">
<option>22</option>
</select>
<select class="test1">
<option>33</option>
</select>

<script type="text/javascript">
 //class为test1的对象集合
     $s=$(".test1");
 //class为test1的对象集合的个数
      alert($s.length);
 //第一个class为test1的select的第一个选项的文本
 alert($s.eq(0).children("option").eq(0).text());
 //第一个class为test1的select的第一个选项的值
 alert($s.eq(0).children("option").eq(0).val());
 //迭代匹配的每一个对象,执行操作
 $(".test1").each(function(){
  //alert每一个select的第一个option的文本
  alert($(this).children("option").eq(0).text())
 });
</script>