我知道这是基本的东西,但我无法理解......
如何将css更改应用于多个元素?目前,它只适用于第一个,但没有显示错误。
function elemInit(){
var elem1 = jQ('#elem1');
var elem2 = jQ('#elem2');
jQ(elem1, elem2).each(function(){
jQ(this).css({
'margin-left': '-' + jQ(this).width()/2 + 'px'
});
});
};
elemInit();
jQ
是为了确保没有冲突。
答案 0 :(得分:3)
jQuery选择器的工作方式与CSS选择器类似,css
方法在内部使用each
方法,您可以编写代码:
jQ('#elem1, #elem2').css('marginLeft', function(i, oldMarginLeft) {
return '-' + jQ(this).width()/2 + 'px';
});
答案 1 :(得分:2)
var jQelem1and2 = jQ('#elem1, #elem2');
jQelem1and2.each(function(){
jQ(this).css({
'margin-left': '-' + jQ(this).width()/2 + 'px'
});
});
或者我错过了什么?
答案 2 :(得分:1)
用于连接两个jQuery对象的语法 - $($obj1, $obj2)
- 不正确;它确实something entirely different。
除了通过直接匹配您需要的元素而工作的其他解决方案之外,一般的解决方案是使用.add
:
$obj1.add($obj2).each(...)
最后,这里.each
真的没有必要 - .css
也可以直接使用。
答案 3 :(得分:0)
试试这个
var elem1 = '#elem1';
var elem2 = '#elem2';
jQ(elem1, elem2).each(function(){
jQ(this).css({
'margin-left': '-' + jQ(this).width()/2 + 'px'
});
});