Javascript 将2个对象传递给jquery.css()
在我去urff最短代码的路上 我有一个物体,在那里我进行特征检测。然后将结果传递给jquery.css()命令。但我确实有一些其他css规则,我也需要应用。我无法将它们放入对象中,因为这些规则有时会有所不同。所以我现在传递了两个jquery.css()命令,但我正试图从中提取一个,只是为了性感Javascript 将2个对象传递给jquery.css(),javascript,jquery,javascript-objects,Javascript,Jquery,Javascript Objects,在我去urff最短代码的路上 我有一个物体,在那里我进行特征检测。然后将结果传递给jquery.css()命令。但我确实有一些其他css规则,我也需要应用。我无法将它们放入对象中,因为这些规则有时会有所不同。所以我现在传递了两个jquery.css()命令,但我正试图从中提取一个,只是为了性感 var myObject = (Modernizr.csstransforms ? {transform: 'translateX(123px)'} : {left: 123}); $("#elem")
var myObject = (Modernizr.csstransforms ? {transform: 'translateX(123px)'} : {left: 123});
$("#elem").css(myObject).css({ sexyness: 0 });
当我试着让它像这样:
$("#elem").css(myObject, { sexyness: "100%" });
我遗漏了什么,或者这是最好的吗?您需要“粘合”对象,并使用新对象来设置样式。看起来像这样:
$("#elem").css(myObject, { sexyness: "100%" });
固定的
可以使用合并这两个css属性对象
$("#elem").css($.extend({}, myObject, { sexyness: "100%" }));
错误:(误读了API
jQuery 1.9允许您使用属性数组,因此您可以执行以下操作:
var myObject = (Modernizr.csstransforms ?
["transform: translateX(123px)"] :
["left: 123"]);
$("#elem").css(myObject.add("sexyness: 80"))
让我们作弊并使用JSON.parse,它允许我们简单地连接字符串
var myObject = (Modernizr.csstransforms ?
'transform: "translateX(123px),"'} :
'left: 123,');
$("#elem").css(JSON.parse(myObject + 'sexyness : 80'))
您应该尽可能避免使用
css
。如果动态值需要它,就这样吧,但对于静态样式,您应该使用addClass
、removeClass
和toggleClass
。谢谢。上面的代码是动态的,只是一个示例。。
var myObject = (Modernizr.csstransforms ?
'transform: "translateX(123px),"'} :
'left: 123,');
$("#elem").css(JSON.parse(myObject + 'sexyness : 80'))