如何使用 .not 更改选择器以应用于 dom 元素

How to change selector with .not to apply to dom elements

我是 jQuery 的新手,希望有人能帮助我解决这个问题。

我目前使用的是下面的代码片段,到目前为止它可以正常工作。 但是,我现在需要更改它,以便它可以用于动态添加的元素,并且我在此处遇到 .not 的一些问题。

我现在的代码:

$('.customSelect dd ul li a').not('.disabled, .selectMain').on('click', function(){
    var selectHtml = $(this).html(),
        selectVal = $(this).next('span.selectVal').text();
    $(this).closest('div.divSelect').attr('name', selectVal).find('dt a span.selectActive').html(selectHtml).end().find('dd ul').hide();
});

我知道我可以编写以下内容,但我不确定如何将 .not then 应用于此:

$(document).on('click', '.customSelect dd ul li a', function(){
    // ...
});

非常感谢,对于这个初学者问题,我们深表歉意,
麦克

您可以使用 :not 选择器:

$(document).on('click', '.customSelect dd ul li a:not(.disabled, .selectMain)', function() {
    // do something...
});

或者,您可以使用 hasClass() 方法:

$(document).on('click', '.customSelect dd ul li a', function() {
    if ($(this).hasClass('disabled') || $(this).hasClass('selectMain'))
        return;

    // do something...
});