我想将json格式的数据发送到jQuery.css()函数,我不知道该怎么做。 稍后,我将发送更多属性,这只是我的问题的一个例子。
//Sorry, this var x is actually string that i get when i print my json string
var x = {"transform":"rotate(30deg)","-o-transform":"rotate(30deg)"}
//If i try to do something like this wont work
$("#mainImage").css(x);
//but following works
$("#mainImage").css({"transform":"rotate(30deg)","-o-transform":"rotate(30deg)"})
它可能需要做一些jquery接受.css( map )
的事情
要设置的属性 - 值对的映射。
我正在尝试发送单个文本字符串,我可以以某种方式将json转换为map吗?
@Pekka是的,我确信$("#mainImage").css(x);
无效。
@Felix这就是我通过调用json = JSON.stringify(data);
得到的对不起,如果它不是json数据,我是js newbie ..
答案 0 :(得分:3)
您之前应解析 not stringify JSON。我尝试了这个它是有效的。
var json = '{ "display": "none" }';
var cssObject = JSON.parse(json);
$("#mainImage").css(cssObject);
答案 1 :(得分:2)
我刚试过这段代码:
$(document).ready(function() {
var x = {"background-color": "yellow"};
$('body').css(x);
});
基本上它起作用了。所以问题可能完全不同。也许你的img元素不存在?
答案 2 :(得分:0)
var cssObj = { 'background-color' : '#ddd', 'font-weight' : '', 'color' : 'red', "transform":"rotate(30deg)", "-o-transform":"rotate(30deg)", "-webkit-transform":"rotate(30deg)" } $("#mainImage").css(cssObj);