我在页面上有几个几乎相同的元素。它们的区别仅在于id-id =" id1",id =" id2",...,id =" id10" 我有一个看起来像这样的JQuery代码:
$('.element #set1 .select').on('mouseleave', function(){
if ($('.element #set1 .select .options:visible').length) {
$('.element #set1 .select .options').slideUp('fast');
$('.element #set1 .select a.value').addClass('selected').text('1');
}});
...
$('.element #set10 .select').on('mouseleave', function(){
if ($('.element #set10 .select .options:visible').length) {
$('.element #set10 .select .options').slideUp('fast');
$('.element #set10 .select a.value').addClass('selected').text('1');
}});
有没有办法如何只使用一个统一代码来访问具有不同ID的所有集合?
答案 0 :(得分:1)
您可以在事件处理程序中使用当前元素上下文,即this
,它引用调用该事件的元素并使用各种DOM遍历方法,即.find()
来定位当前元素依赖项
$('#set1, #set2, ..., #set10 ').on('mouseleave', '.select', function () {
if ($(this).find('.options:visible').length) {
$(this).find('.options').slideUp('fast');
$(this).find('a.value').addClass('selected').text('1');
}
});