发现jquery存在的一个问题。
时间:2009-10-08
来源:互联网
<input type="text" name="a1" value="12212">
<input type="text" name="a2" value="34asdf">
<input type="text" name="a3" value="45etgdf">
<input type="text" name="a4" value="1xbxbxcv">
<input type="text" name="a5" value="zvdfadf">
如果我想依次取得它们的值的话,
用$('input:eq(0)').val()、$('input:eq(1)').val()、$('input:eq(2)').val()、$('input:eq(3)').val()、$('input:eq(4)').val()、$('input:eq(5)').val()是没用的,取到的全是第一个文本域的值12212,
我不知道为什么会有这种怪情况。
在这里求教一下。
作者: fanxiaojie 发布时间: 2009-10-08
作者: yangding39 发布时间: 2009-10-08
测试无误

作者: jamix 发布时间: 2009-10-08
alert($(':input:eq(1)').val());
作者: zcrane 发布时间: 2009-10-09
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
<title>无标题文档</title>
<script type="text/javascript" src="editor/jquery-1.3.2.min.js"></script>
<script type="text/javascript">
$(document).ready(function(){
var n=$("input").size();
for(i=0;i<n;i++){
alert($("input:eq(i)").val());
}
})
</script>
</head>
<body><input type="text" name="a1" value="12212">
<input type="text" name="a2" value="34asdf">
<input type="text" name="a3" value="45etgdf">
<input type="text" name="a4" value="1xbxbxcv">
<input type="text" name="a5" value="zvdfadf">
</body>
</html>
按理,应该逐次蹦出"12212"、"34asdf"、"45etgdf"、"1xbxbxcv"、"zvdfadf"
但是实际上,每次蹦出来的都是"12212"
作者: fanxiaojie 发布时间: 2009-10-09
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
<title>无标题文档</title>
<script type="text/javascript" src="editor/jquery-1.3.2.min.js"></script>
<script type="text/javascript">
$(document).ready(function(){
alert($("input:eq(0)").val());
alert($("input:eq(1)").val());
alert($("input:eq(2)").val());
alert($("input:eq(3)").val());
alert($("input:eq(4)").val());
})
</script>
</head>
<body><input type="text" name="a1" value="12212">
<input type="text" name="a2" value="34asdf">
<input type="text" name="a3" value="45etgdf">
<input type="text" name="a4" value="1xbxbxcv">
<input type="text" name="a5" value="zvdfadf">
</body>
</html>
但是如果我不知道input的长度的话,显然不能这样写的。
作者: fanxiaojie 发布时间: 2009-10-09
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
<title>无标题文档</title>
<script type="text/javascript" src="editor/jquery-1.3.2.min.js"></script>
<script type="text/javascript">
$(document).ready(function(){
var $input=$("input");
var n=$input.size();
for(i=0;i<n;i++){
input.get(i).val();
}
})
</script>
</head>
<body><input type="text" name="a1" value="12212">
<input type="text" name="a2" value="34asdf">
<input type="text" name="a3" value="45etgdf">
<input type="text" name="a4" value="1xbxbxcv">
<input type="text" name="a5" value="zvdfadf">
</body>
</html>
作者: fanxiaojie 发布时间: 2009-10-09
作者: yangding39 发布时间: 2009-10-09
var $input=$("input");
var n=$input.size();
for(i=0;i<n;i++){
$input.get(i).val();
}
})
这段代码中,$input.get(i)已经将JQuery对象转换为DOM对象了,所以不能用JQuery的方法val(),
改写为$input.get(i).value
作者: js0218 发布时间: 2009-10-09
作者: conan304 发布时间: 2009-10-09
alert(input.value);
});
作者: zcrane 发布时间: 2009-10-09
作者: fanxiaojie 发布时间: 2009-10-09
热门阅读
-
office 2019专业增强版最新2021版激活秘钥/序列号/激活码推荐 附激活工具
阅读:74
-
如何安装mysql8.0
阅读:31
-
Word快速设置标题样式步骤详解
阅读:28
-
20+道必知必会的Vue面试题(附答案解析)
阅读:37
-
HTML如何制作表单
阅读:22
-
百词斩可以改天数吗?当然可以,4个步骤轻松修改天数!
阅读:31
-
ET文件格式和XLS格式文件之间如何转化?
阅读:24
-
react和vue的区别及优缺点是什么
阅读:121
-
支付宝人脸识别如何关闭?
阅读:21
-
腾讯微云怎么修改照片或视频备份路径?
阅读:28