警报无效

时间:2014-12-02 18:00:44

标签: javascript jquery html

我真的不明白为什么警报不起作用 这是我的HTML

<div class='main'>
    <div class="head">
        <div class="check">
            <label for="">
                <input type="checkbox" class="myinput large" id="click" />
            </label>
        </div>
        <div class="logo">
            <h1>DEMO</h1>
            <p></p>
        </div>

    </div>
</div>

这是我的JS

$('#click').click(function () {
    $("#app").fadeToggle(this.checked);
    if($("#app").is(' :checked')){
    alert('hi')
    }
});

fiddle

5 个答案:

答案 0 :(得分:3)

您应该使用$(this)代替$("#app")

if($(this).is(':checked')){
   alert('hi')
}

答案 1 :(得分:2)

你的选择器错了。试试这个:

if ($('#click').is(':checked')) {

答案 2 :(得分:2)

似乎有一些问题,但主要是if上的选择器是不正确的。看看你的JSBIN,$(&#39;#app&#39;)淡出确实有一个元素可以操作,所以我确定你已经那么好了。试试这个:

$('#click').click(function () {
    $("#app").fadeToggle(this.checked);
    if($(this).is(' :checked')){
        alert('hi')
    }
});

答案 3 :(得分:1)

你的情况错了:

$('#click').click(function () {
  $("#app").fadeToggle(this.checked);
  if($(this).is(':checked')){
     alert('hi')
  }
});

如果您想查看该应用,请使用以下条件:

if($("#app").is(':visible')){
     alert('hi')
  }

答案 4 :(得分:1)

修改了你的小提琴:http://jsfiddle.net/5udtC/7505/

变更:

$('#click').click(function () {
    $("#app").fadeToggle(this.checked);
    if($("#click").is(' :checked')){
    alert('hi');
    }
});