在多个缓存的DOM元素上调用方法

时间:2016-03-05 15:02:02

标签: javascript jquery caching

在使用jQuery操作DOM时,我总是尝试缓存DOM选择。而且我一直在想是否可以简写这种方法调用:

var $cached_1 = $('#elem1'),
    $cached_2 = $('#elem2');

//For example i need toggle both I write like : 
$cached_1.toggle();
$cached_2.toggle();

没有缓存很容易:

$('#elem1, #elem2').toggle();

但缓存选择怎么样?是否有类似的方法来调用存储在变量中的少量单独选择的方法?

2 个答案:

答案 0 :(得分:1)

是的,有类似的方法可以做到这一点,

var elems = $('#elem1').add('#elem2');
elems.toggle();

你必须使用.add()来实现你想要的目标。

答案 1 :(得分:1)

如果这些将始终用作集合,请存储集合。

$cached_1.add($cached_2).toggle();

或者,如果您想要组合以前缓存的变量:

SecRule REQUEST_URI "^/SOMETHING.*\?(.*&)+(.*date.*|.*timestamp.*|lastLogon)=[0-9]{4}-[0-9]{2}-[0-9]{2}T[0-9]{2}:[0-9]{2}:[0-9]{2}\.[0-9]{3}[-+]?[0-9]{4}(&.*)+$" "id=12345,ctl:ruleRemoveTargetById=981173"