为什么我这段js代码的全选事件只响应了一次

<SCRIPTLANGUAGE="JavaScript"src="http://code.jquery.com/jquery-1.9.1.js"></SCRIPT><SC... <SCRIPT LANGUAGE="JavaScript" src="http://code.jquery.com/jquery-1.9.1.js"></SCRIPT>
<SCRIPT LANGUAGE="JavaScript">
$("document").ready(function(){
$("#btn1").click(function(){
$("[name='checkbox']").attr("checked",'true');//全选
})
$("#btn2").click(function(){
$("[name='checkbox']").removeAttr("checked");//取消全选
})
$("#btn3").click(function(){
$("[name='checkbox']:even").attr("checked",'true');//选中所有奇数
})
$("#btn4").click(function(){
$("[name='checkbox']").each(function(){//反选

if($(this).attr("checked"))
{
$(this).removeAttr("checked");
}
else
{
$(this).attr("checked",'true');
}
})

})
$("#btn5").click(function(){
var str="";
$("[name='checkbox'][checked]").each(function(){
str+=$(this).val()+"\n";
//alert($(this).val());
})
alert(str);
})
})
//-->
</SCRIPT>
</HEAD>
<BODY>
<form name="form1" method="post" action="">
<input type="button" id="btn1" value="全选">
<input type="button" id="btn2" value="取消全选">
<input type="button" id="btn3" value="选中所有奇数">
<input type="button" id="btn4" value="反选">
<input type="button" id="btn5" value="获得选中的所有值">
<br>
<input type="checkbox" name="checkbox" value="checkbox1">
checkbox1
<input type="checkbox" name="checkbox" value="checkbox2">
checkbox2
<input type="checkbox" name="checkbox" value="checkbox3">
checkbox3
<input type="checkbox" name="checkbox" value="checkbox4">
checkbox4
<input type="checkbox" name="checkbox" value="checkbox5">
checkbox5
<input type="checkbox" name="checkbox" value="checkbox6">
checkbox6
<input type="checkbox" name="checkbox" value="checkbox7">
checkbox7
<input type="checkbox" name="checkbox" value="checkbox8">
checkbox8
</form>
</BODY>
</HTML>
展开
 我来答
zhaoapk
推荐于2016-03-20 · TA获得超过3771个赞
知道大有可为答主
回答量:1343
采纳率:40%
帮助的人:1612万
展开全部

我看你用了jquery1.9.1。


建议用prop属性

prop修改dom属性。

$(el).prop('checked', true); 等于

el.checked = true;


attr修改html标签的属性。

$(el).prop('checked', true); 等于

el.setAttribute('checked', 'checked');


修改html标签的属性时有的属性不能呈现在浏览器上。

  $("document").ready(function () {
      $("#btn1").click(function () {
          $("[name='checkbox']").prop("checked", true); //全选
      })
      $("#btn2").click(function () {
          $("[name='checkbox']").prop("checked", false); //取消全选
      })
      $("#btn3").click(function () {
          $("[name='checkbox']:even").prop("checked", true); //选中所有奇数
      })
      $("#btn4").click(function () {
          $("[name='checkbox']").each(function () { //反选

              if ($(this).prop("checked")) {
                  $(this).prop("checked", false);
              } else {
                  $(this).prop("checked", true);
              }
          })

      })
      $("#btn5").click(function () {
          var str = "";
          // 使用:checked选择器
          $("[name='checkbox']:checked").each(function () {
              str += $(this).val() + "\n";
              //alert($(this).val());
          })
          alert(str);
      })
  })
追问
原来这样啊,我先试试。prop这个属性我没用过,一般都用的attr。网上搜的答案也是用attr 一运行就出现你说的,不能呈现在浏览器上。
liwenkai2002
2013-10-30 · TA获得超过140个赞
知道小有建树答主
回答量:396
采纳率:83%
帮助的人:312万
展开全部
只执行一次?你点一下 执行一次吧。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式