简化 jQuery 个选择器

simplifying jQuery selectors

在编写插件时,我发现自己需要一个动态系统来 select 特定元素或元素组来执行代码。虽然我的代码工作得很好,但我觉得他们可能是更好的方法,但似乎无法找到任何东西。

$('map[name='+ elem.clicklight.mapName +'] > area[data-group='+ event.target.area.group +']').each(function() {
    //some stuff to do
});

如您所见,这太长了,读起来很烦人。据我所知,这是最好的方法,但如果有人对此有任何意见,我将不胜感激。

这是@Turk 的通用代码。

但是你可以介意使用变量来缩短你的选择器..

像这样简单的东西:

var el_name = elem.clicklight.mapName;
var evt_tgt = event.target.area.group;

$('map[name='+ el_name +'] > area[data-group='+ evt_tgt +']').each(function() {
    //some stuff to do
});