将参数哈希传递给 jQuery CSS()



谁能告诉我如何通过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(( 将其转换为有效对象。

干杯

最新更新