通过缓存选择器来优化一些js / jQuery代码,这些选择器不止一次被用来帮助加快速度,例如:
var object = $("#object");
object.removeClass('class-name');
我遇到麻烦链接缓存选择器但是,这是我的尝试:
var object1 = $("#object1");
var object2 = $("#object2");
$(object1, object2).removeClass('class-name');
这适用于第一个缓存元素,但不适用于第二个,关于正确语法的任何想法?
我已经搜索过它但似乎找不到任何东西!
答案 0 :(得分:5)
答案 1 :(得分:1)
Satpal的答案非常简单,但是如果你想要一个替代方案(处理更多的类而不是以一个巨大的jquery链结束),你可以将jquery对象保存在一个数组中并使用迭代:
"use strict";
var arr = [];
var object1 = $("#object1");
var object2 = $("#object2");
arr.push(object1, object2)
for (var e of arr) {
e.removeClass("class-name");
}

.class-name {
color: red;
}

<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div id="object1" class="class-name">this</div>
<div id="object2" class="class-name">this</div>
<div id="object3" class="class-name">this</div>
&#13;
答案 2 :(得分:0)
将这两个选择器放在一起是您可以使用的另一个选项:
$('#object1, #object2').removeClass('class-name');