是:使用Jquery 1.7时检查不起作用

时间:2013-05-14 14:00:01

标签: jquery

看看这个简单的代码


HTML

<input type="checkbox" id="check" >&nbsp;<span id="rm">Remember
me</span> <span id="ok">Okay!</span>

CSS

#ok{
position:absolute;
font:italic bold 14px century;
color:green;
margin-left:3px;
margin-top:2px;
display:inline-block;
opacity:0;
}

Jquery的

if($('#check').is(":checked"))
    {
    $("#ok").css("opacity",1);
    }

http://jsfiddle.net/milanshah93/4Hf9T/

我选中此框时无效。

4 个答案:

答案 0 :(得分:3)

页面加载时未选中您的复选框。虽然你可以这样做 -

$("#check").on('change', function () {
    if ($(this).is(":checked")) {
        $("#ok").css("opacity", 1);
    }
    else{
     $("#ok").css("opacity", 0);
    }
});

DEMO

答案 1 :(得分:1)

这是一个有效的jsfiddlehttp://jsfiddle.net/4Hf9T/14/

<input type="checkbox" id="check">&nbsp;<span id="rm">Remember me</span>

<span id="ok">Okay!</span>

JS代码:

$('#check').on('change',function(){
    if(this.checked)
        $("#ok").css("opacity", 1);
    else 
        $("#ok").css("opacity", 0);
});

答案 2 :(得分:1)

不行,但你的代码不是出于这两个原因。

  1. 您在DOM标记上拼错了id

  2. 您没有事件监听器。您的代码在窗口加载时运行,之后不会检查。您需要添加binding,例如change

  3. 这里有证据:http://jsfiddle.net/4Hf9T/13/

    $('#check').change(function(){
        if($(this).is(":checked"))
            {
            $("#ok").css("opacity",1);
            }
        else if(!$(this).is(":checked")) // "if" not needed, just showing that you can check if it is not checked.
            {
            $("#ok").css("opacity",0);
            }
    })
    

答案 3 :(得分:0)

之前已经提出过这个问题,有人发布了详细的答案:https://stackoverflow.com/a/2204275/1745452

jQuery API Documentation表明它应该从第一个版本起作用。也许你拼错了选择器?