只想说jQuery都忘干净了。。。帮忙看一下。。。
大晚上的,心血来潮,写了以下代码,居然不执行。。。
<script src="Scripts/jquery-1.4.1.js" type="text/javascript"></script>
<script type="text/javascript" language="javascript">
$(function () {
var $txts = $(".aaa");
for (var txt in $txts) {
alert(txt.value); //一直以为遍历之后的txt是js对象
}
});
</script>
<body>
<form id="form1" runat="server">
<div>
<asp:CheckBox ID="CheckBox1" runat="server" />
<input id="Text1" type="text" class="aaa" value="1"/>
<input id="Text2" type="text" class="aaa" value="2"/>
<input id="Text3" type="text" class="aaa" value="3"/>
</div>
</form>
</body>
jQuery
------解决方案--------------------$(".aaa").each(function(){
alert($(this).val());
});
------解决方案--------------------虽然只有几行JS,但是错误真不少。。。首先for-each循环语法不对,应该是for(txt in txts)这种形式,而且txt是下标,txts[txt]才是数组中的元素;其次,是逻辑上的错误,$(.aaa)返回的是一个标签数组,打印出来的内容是
如果你用for-each形式循环的话,会发现弹出无数个undefined。直接用数组长度作为哨兵值就好了。代码如下
<script type="text/javascript" language="javascript">
$(function () {
var txts = $(".aaa");
for(var i = 0; i < txts.length; ++i)
alert(txts[i].value);
});
</script>
------解决方案--------------------
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.8.3/jquery.min.js"></script>
<script type="text/javascript">
$(function(){
$("input[class='aaa']").each(function(){
alert($(this).val());
});
})
</script>
<body>
<form id="form1" runat="server">
<div>
<!--<asp:CheckBox ID="CheckBox1" runat="server" />-->
<input id="Text1" type="text" class="aaa" value="1"/>
<input id="Text2" type="text" class="aaa" value="2"/>