0

单击第一个复选框时,jQuery 不会滑动。我相信这是正确的语法,但我不确定。我已经在多个浏览器中查看过它,甚至将其上传到网站。但一切都无济于事。我的代码有什么问题?

<!DOCTYPE html>
<html>
   <title>Test</title>
<head><script src="//ajax.googleapis.com/ajax/libs/jquery/1.10.2/jquery.min.js"></script>                    </script>
   <script>$(document).ready(function(){
   $('#test1').click(function(){
       if ($(this).attr('checked')) {
       $('#test12').slideUp('fast');
       } else {
       $('#test12').slideDown('fast');
       }
   });
   });
   </script>

   </head>
   <body>
   <h1>form test</h1>
   <span><input id="test1" type="checkbox">Hello<br></span>
   <span><input id="test12" type="checkbox">Yo</span>
   </body>
   </html>
4

4 回答 4

0

使用.change().

JSFiddle:http: //jsfiddle.net/PGPPC/

$('#test1').change(function(){
    $('#test12').slideToggle('fast');
});
于 2013-08-21T19:25:48.773 回答
0

您的 if 语句不正确。尝试将其更改为此。

if ($(this).is(':checked'))

http://api.jquery.com/is/

于 2013-08-21T19:18:33.947 回答
0

您需要使用.prop('checked')而不是.attr()

请参阅此处的属性与属性部分:http: //api.jquery.com/prop/

于 2013-08-21T19:14:53.117 回答
0

试试这个(v1.6+)

if ($(this).attr('checked') == "checked") 

(pre-1.6)..你的条件有效的

if ($(this).attr('checked'))
于 2013-08-21T19:14:57.087 回答