我有以下代码:
var entity = null;
var brand = null;
$('li.level1 > a[datanavigationnode="WF/001/DAM"]').each(function(){
var thisEntity = $(this);
var thisEntityParent = $(this).parent();
var liLevel2 = $(thisEntityParent).find('li.level2');
var brands = $('> a[datanavigationnode="WF/001/DAM/001"]', liLevel2);
if(brands.length > 0) {
entity = thisEntity;
brand = $(brands[0]);
return false;
}
});
if(entity !== null && brand !== null) {
var entityLi = $(entity).parent();
var entityTypeLi = $(entityLi).parents('li.level0');
var entityTypeHitArea = $('> div.hitarea', entityTypeLi);
var entityHitArea = $('> div.hitarea', entityLi);
$(entityTypeHitArea).click();
$(entityHitArea).click();
$(brand).click();
}
正如您所看到的,我在最后触发了三个点击事件。有没有办法在一行中做到这一点?我试过这个:(entityTypeHitArea, entityHitArea, brand).click();
但它没有用。
答案 0 :(得分:1)
我认为这可能是您正在寻找的内容:Is it possible to use multiple variables instead of selectors in jQuery
我不能评论性能。
希望这有帮助!
编辑:评论中的尼古拉斯是正确的。 $('#one').add('#two').add('#three').click();
答案 1 :(得分:0)
我认为你可以这样写:
entityTypeHitArea.add(entityHitArea).add(brand).trigger("click");
这是一个简单的DEMO ..
注意:不要让代码太复杂,只是为了避免查询"#id1,#id2"
,因为"#id1,#id2"
方法比你想要的更快..