<input type="checkbox" value="1" name="checkbox_name">1 <input type="checkbox" value="2" name="checkbox_name">2 <input type="checkbox" value="4" name="checkbox_name">4 <input type="button" value="dddddddddd" onclick="f()"> <script src="jquery.js"></script> <script> function f() { var str=""; $("[name='checkbox_name'][checked]").each(function(){ str+=$(this).val()+"\r\n"; }) alert(str); } </script>(鼠标移到代码上去,在代码的顶部会出现四个图标,第一个是查看源代码,第二个是复制代码,第三个是打印代码,第四个是帮助)
测试正常,能弹出我选中的项。
但是把这段js放到一个页面上去,发现只能弹出来空白,经过检查,最后发现问题出在
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">(鼠标移到代码上去,在代码的顶部会出现四个图标,第一个是查看源代码,第二个是复制代码,第三个是打印代码,第四个是帮助)
这句上,把这句删除就正常了。
这样就出现了jquery与w3c标准不兼容,所以要换个写法,来解决这个东西。最后的解决方法是
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <input type="checkbox" value="1" name="checkbox_name">1 <input type="checkbox" value="2" name="checkbox_name">2 <input type="checkbox" value="4" name="checkbox_name">4 <input type="button" value="dddddddddd" onclick="f()"> <script src="jquery.js"></script> <script> function f() { var str=""; $(":[name='checkbox_name']:checked").each(function(){ str+=$(this).val()+"\r\n"; }) alert(str); } </script>(鼠标移到代码上去,在代码的顶部会出现四个图标,第一个是查看源代码,第二个是复制代码,第三个是打印代码,第四个是帮助)
这样就兼容了。