3

我想知道是否有可能在 jQuery 中知道一个元素是否被点击或 hasClass()

这是我尝试过但没有成功的方法

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

那么我该如何实现呢?我需要在单击时执行脚本,或者如果它具有所需的类。

谢谢

4

3 回答 3

2

你需要的是一个点击事件,而不是一个 if 语句。

$('.subCat').on("click", 'span[data-value="all"].checked', function(){
    alert("woohoo foobar");
});
于 2012-08-27T20:39:05.587 回答
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");
    });
});
于 2012-08-27T20:40:16.697 回答
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();
    });
});
于 2012-08-27T20:42:48.177 回答