如何向jQuery.css()发送json数据

How to send json data to jQuery.css()

本文关键字:发送 json 数据 css jQuery      更新时间:2023-09-26

我想发送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到映射吗?

@Pekka是的,我确信$("#mainImage").css(x);不起作用。

@Felix这就是我通过调用json = JSON.stringify(data);得到的,对不起,如果它不是json数据,我是js新手…

您应该先解析而不是将 JSON字符串化。我试了这个,它的工作。

var json = '{ "display": "none" }';
var cssObject = JSON.parse(json);
$("#mainImage").css(cssObject);

我刚刚尝试了下面的代码:

$(document).ready(function() {
        var x = {"background-color": "yellow"};
        $('body').css(x);
    });

基本上它是有效的。所以问题可能是完全不同的。也许你的img元素不在那里?

http://jsfiddle.net/A4azg/

<>之前var cssObj = {background-color: #ddd;font- family:宋体;'color': 'red';"转换":"旋转(30度)","-o-transform":"旋转(30度)","-webkit-transform":"旋转"(30度)}$ (" # mainImage ") . css (cssObj);