2013-07-19 19 views
0

有沒有什麼辦法縮短所有tabindex = 4到tabindex = 40?謝謝tabindex命名的jQuery速記

$('[tabindex="4"]...[tabindex="40"]').on({ 
    focus: function() { 
     $(this).addClass('active'); 
    }, 
    blur: function() { 
     $(this).removeClass('active'); 
    } 
}); 

不想輸入所有的索引,謝謝!

回答

3
$("[tabindex]").filter(function() { 
    var index = parseInt($(this).attr("tabindex"), 10); 
    return index >= 4 && index <= 40; 
}).on(....); 

.filter()將現有的jQuery收集和它減少用於該函數返回true的元素。這將得到tabindex屬性的值並檢查它是否在4和40之間。

+1

您可能需要對['.filter'](http://api.jquery.com/filter/)所做的一些解釋,只是爲了OP。 – mc10

2

創建for循環:

for (var index = 4; index <= 40; ++index) { 
    $('[tabindex="' + index + '"]').on({ 
     focus: function() { 
      $(this).addClass('active'); 
     }, 
     blur: function() { 
      $(this).removeClass('active'); 
     } 
    }); 
}