1

看看这个简单的代码


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

4 回答 4

3

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

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

演示

于 2013-05-14T14:06:20.117 回答
1

这是一个工作jsfiddle:http: //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);
});
于 2013-05-14T14:03:36.167 回答
1

不,它正在工作,但您的代码不是出于这两个原因。

  1. id你在 DOM 标签上拼错了。

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

这里的证明: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);
        }
})
于 2013-05-14T14:05:24.137 回答
0

这个问题之前有人问过,有人贴出详细答案:https ://stackoverflow.com/a/2204275/1745452

jQuery API 文档声明它应该从第一个版本开始工作。也许你拼错了选择器?

于 2013-05-14T14:04:12.083 回答