如何使用 .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...
});
我是 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...
});