有人能告诉我如何通过javascript函数将这个css属性/值对的散列传递给jquery css函数吗?
var $myFunction = function(el, c){
$(el).css(c);
//$(el).css({c});
};
$myFunction("#myDiv", '{top:50px}');
//$myFunction("#myDiv", 'top:50px');
编辑:我已经更新了这个带有工作解决方案的好消息,如同每个人一样,费城的答案......
对于我的生活,我无法看到我出错的地方 - 尝试了很多不同的排列。
非常感谢任何可以看一眼的人......
干杯,斯科特
答案 0 :(得分:0)
您需要将一个对象(属性 - 值对设置)传递给.css(properties)
方法,所以也请在您的函数中接受。
$myFunction("#myDiv", {
top: "50px",
background: "red"
});
答案 1 :(得分:0)
CSS方法采用以下格式的参数
$(elem).css({
"border" : "1px solid blue",
"display" : "block",
"background" : "#F00"
});
所以你的代码应该修改为
$myFunction("#myDiv", {
"top" : "50px"
});
答案 2 :(得分:0)
只做
$(EL)的CSS(JSON.parse(C));
解决您的问题。
注意:您还需要在创建属性时使用引号:值对,即您必须将参数构造为' {top:" 50px"}'
.css()函数接受接受属性 - 值对的PlainObject。当你调用$ myfunction时,它将第二个参数作为string.JSON.parse()传递给一个有效的对象。
干杯