检查是否单击了元素或hasClass

时间:2012-08-27 20:36:17

标签: javascript jquery

我想知道是否可以在jQuery中知道是否点击了某个元素或者是否是hasClass()

这是我没有成功的尝试

if($('.subCat span[data-value="all"]').hasClass('checked') || $('.subCat span[data-value="all"]').click()){
        alert('woohoo');
    }

那我怎么能做到这一点?我需要编写脚本,以便在单击时执行或者具有所需的类。

由于

3 个答案:

答案 0 :(得分:2)

您需要的是点击事件,而不是if语句。

$('.subCat').on("click", 'span[data-value="all"].checked', function(){
    alert("woohoo foobar");
});

答案 1 :(得分:1)

要判断它是否被点击,您需要添加一个事件处理程序

$(document).on("click",'.subCat span[data-value="all"]', function(){
    alert("I was clicked");
});

没有事件可以告诉您它是否是必需的类。如果要检查页面何时加载,则可以执行此操作。

$( function() {
    $('.subCat span[data-value="all"]').filter('.checked').each( function(){
        alert("I have a checked class at ready");
    });
});

答案 2 :(得分:1)

如果您需要在单击时运行该函数以及最初对具有已检查类的元素运行,我建议:

function doStuff() {
    alert('woohoo');
}

$(document).ready(function() {
    // This will wire up a click event. When the matching elements are clicked,
    // the doStuff function will run.
    $('.subCat span[data-value="all"]').click(doStuff);

    // This will call the doStuff function for every matched element on the
    // document ready.
    $.each($('.subCat span[data-value="all"].checked'), function(index, value) {
        doStuff();
    });
});