谁能告诉我如何通过javascript函数将css属性/值对的哈希传递给jquery css函数?
var $myFunction = function(el, c){
$(el).css(c);
//$(el).css({c});
};
$myFunction("#myDiv", '{top:50px}');
//$myFunction("#myDiv", 'top:50px');
编辑:我已经更新了这个小提琴,以根据丹菲利普的答案显示工作解决方案......
这是更新的小提琴
对于我的生活,我看不出我会错在哪里 - 已经尝试了许多不同的排列。
提前非常感谢任何可以看一看的人......
干杯,斯科特
CSS 方法采用以下格式的参数
$(elem).css({
"border" : "1px solid blue",
"display" : "block",
"background" : "#F00"
});
所以你的代码应该修改为
$myFunction("#myDiv", {
"top" : "50px"
});
将一个对象(要设置的属性值对(传递给 .css(properties)
方法,因此在您的函数中也接受。
$myFunction("#myDiv", {
top: "50px",
background: "red"
});
更新的小提琴
只是做
$(el(.css(JSON.parse(c((;
来解决您的问题。
注意:在创建属性:值对时,您还需要使用引号,即您必须将参数构造为"{top:"50px"}'
.css(( 函数接受接受属性-值对的 PlainObject。调用 $myfunction 时,它会将第二个参数作为字符串传递。JSON.parse(( 将其转换为有效对象。
干杯