简化jQuery选择器

时间:2016-09-23 14:10:46

标签: jquery jquery-selectors

在编写插件时,我发现自己需要一个动态系统来选择特定元素或元素组来执行代码。虽然我的代码完全正常,但我觉得他们可能是一个更好的方法来做到这一点,但似乎无法解决任何问题。

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

正如你所看到的那样,读起来非常漫长而烦人。我知道这是最好的方法,但如果有人对此有任何意见,我将不胜感激。

1 个答案:

答案 0 :(得分:2)

这是一个常见的代码@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
});