Javascript 将CSS应用于变量中的多个元素
我有这个:Javascript 将CSS应用于变量中的多个元素,javascript,jquery,Javascript,Jquery,我有这个: var $e1 = $('#e1'); var $e2 = $('#e2'); var $e3 = $('#e3'); 这不起作用: var $all = [$e1, $e2, $e3]; $($all).css('background', '#ff0000'); 在重用$el1、$el2、$el3时,我应该如何做到这一点 我不想做: $('#e1, #e2, #e3') 这可能很简单,但我不知道要搜索什么才能找到答案。编辑:更好: var $e1 = $('#e1'); va
var $e1 = $('#e1');
var $e2 = $('#e2');
var $e3 = $('#e3');
这不起作用:
var $all = [$e1, $e2, $e3];
$($all).css('background', '#ff0000');
在重用$el1
、$el2
、$el3
时,我应该如何做到这一点
我不想做:
$('#e1, #e2, #e3')
这可能很简单,但我不知道要搜索什么才能找到答案。编辑:更好:
var $e1 = $('#e1');
var $e2 = $('#e2');
var $e3 = $('#e3');
var all = $e1.add($e2).add($e3);
all.css('background', '#ff0000');
编辑:更好:
var $e1 = $('#e1');
var $e2 = $('#e2');
var $e3 = $('#e3');
var all = $e1.add($e2).add($e3);
all.css('background', '#ff0000');
您可以这样做:
var $all = $e1.add($e2).add($e3);
或者这样(看起来有点迟钝,但这是正确的方法-您必须首先使用[0]
从jQuery对象中提取节点):
注意:在我的示例中,
$all
已经是一个jQuery对象,因此不需要像这样再次包装它:$($all)
。只要做:
$all.css('background', '#ff0000');
您可以这样做:
var $all = $e1.add($e2).add($e3);
或者这样(看起来有点迟钝,但这是正确的方法-您必须首先使用[0]
从jQuery对象中提取节点):
注意:在我的示例中,
$all
已经是一个jQuery对象,因此不需要像这样再次包装它:$($all)
。只要做:
$all.css('background', '#ff0000');
是合并不同元素/jQuery对象的另一种方法
参考:
是合并不同元素/jQuery对象的另一种方法
参考:编辑:
在jQuery实例中包装数组并遍历其元素
all = [$e1, $e2, $e3];
$(all).each(function(index, element){
element.css('background', '#ff0000');
})
编辑:
在jQuery实例中包装数组并遍历其元素
all = [$e1, $e2, $e3];
$(all).each(function(index, element){
element.css('background', '#ff0000');
})
如果不想使用选择器,请将样式应用于数组的每个元素
for(i = 0; i < $all.length; i++)
$all[i].css('background', '#ff0000');
for(i=0;i<$all.length;i++)
$all[i].css('background','#ff0000');
如果不想使用选择器,请将样式应用于数组的每个元素
for(i = 0; i < $all.length; i++)
$all[i].css('background', '#ff0000');
for(i=0;i<$all.length;i++)
$all[i].css('background','#ff0000');
您可以执行示例中的操作:
var $all = [$e1, $e2, $e3],
i = $all.length;
for(; i--;) {
$all[i].css('background', '#f00');
}
您可以执行示例中的操作:
var $all = [$e1, $e2, $e3],
i = $all.length;
for(; i--;) {
$all[i].css('background', '#f00');
}
看来你可以做到这一点:
$(deleteBtn).add(copyBtn).add(moveBtn).css('background', 'white');
正如这里所说的你似乎可以做到这一点:
$(deleteBtn).add(copyBtn).add(moveBtn).css('background', 'white');
正如这里所说的如果我可以问的话,为什么不执行$('#e1,#e2,#e3')?变量名中的
$
-前缀用于jQuery对象。不要将其用于常规数组,这只会让您感到困惑。@Šime Vidas:根据“jQuery样式”,您能更好地解释一下我什么时候应该和不应该以$开头变量。这是一个数组:[1,2,3]
。这是一个jQuery对象:$('div')
。选择变量名时,对于那些值为jQuery对象的变量,使用$-前缀。例如:var x=true;变量y=[1,2,3];var$z=$('#z')
@Šime Vidas:谢谢,从现在开始我会尝试这样做。如果我可以问的话,为什么不做$('e1,'e2,'e3')?变量名中的$
-前缀是用于jQuery对象的。不要将其用于常规数组,这只会让您感到困惑。@Šime Vidas:根据“jQuery样式”,您能更好地解释一下我什么时候应该和不应该以$开头变量。这是一个数组:[1,2,3]
。这是一个jQuery对象:$('div')
。选择变量名时,对于那些值为jQuery对象的变量,使用$-前缀。例如:var x=true;变量y=[1,2,3];var$z=$('#z')
@Šime Vidas:谢谢,从现在起我会尝试这样做。[0]
才是我真正想要的。谢谢你的解释。[0]
才是我真正想要的。谢谢你的解释。