为什么jquery遍历数组的时候重复输出两次

<script type="text/javascript" src="1.js"></script>
<input type="hidden" value="隐藏1">
<input type="hidden" value="隐藏2">
<input type="button" value="测试" id="test">
<script type="text/javascript">
$('#test').click(
function(){
$obj=$('input:hidden');
for(var i=0;i<$obj.length;i++){
$.each($obj,function(i,n){
alert($(n).val());
})
}
})
</script>
补充说明:1.js是jquery库
2.遍历隐藏表单的名字,然后输出
3.使用jquery的each遍历,最后输出是输出了2遍“隐藏一”和“隐藏二”,请问这是为什么??

因为你这一步:$obj=$('input:hidden');
选择器里面有个两个对象,所以length=2,for循环的时候alert执行了两次。


正解:
$('#test').click(
function(){
  $obj=$('input:hidden');
    $.each($obj,function(i,n){
    alert($(n).val());
})
})

追问

谢谢

温馨提示:答案为网友推荐,仅供参考
相似回答