2015-07-12 70 views
0

我是jQuery的新手,希望有人能帮助我。如何改变选择器。不适用于DOM元素

我目前使用下面的代码片段,它的工作原理目前为止。 但是,我现在需要更改它,以便它可以用于动态添加元素,并且在此处遇到与.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(); 
}); 

我知道我可以写下面,但我不知道如何再应用。不是这样:

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

很多感谢提前和遗憾的这个初学者问题,
迈克

回答

2

您可以使用: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... 
}); 
+0

真棒,是的 - 仅此而已。非常感谢您的快速帮助 - 我会尽快接受! – keewee279

+0

感谢您的更新也: - 对我来说不是很好。 :) – keewee279