将CSS添加到MySQL然后在jQuery中使用.CSS();功能

时间:2012-02-01 01:26:05

标签: php jquery mysql

我已将此CSS存储在DB中:

{backgroundColor: "rgba(53, 162, 185, 0.3)", 
width: "800px",
bottom: "0px",
height: "7px",
left: "0px"}

这是SQL Update:

UPDATE `conjure`.`conjurevariables` SET `setting` = '{\'backgroundColor\': \'rgba(53, 162, 185, 0.3)\', \'width\': \'800px\', \'bottom\': \'0px\', \'left\': \'0px\', \'height\': \'7px\'}' WHERE `conjurevariables`.`id` = 27

当我从数据库中提取CSS并将其添加到变量并提醒该变量时,这是返回的内容:

{'backgroundColor': 'rgba(53, 162, 185, 0.3)', 'width': '800px', 'bottom': '0px', 'left': '0px', 'height': '7px'}

这似乎是正确的信息。

NEXT: 如果我将该变量添加到CSS中,如: $( '东西')CSS(可变);

它不起作用。

但是: 如果我跳过从数据库中提取数据的步骤,只需执行此操作:

var variable =“{'backgroundColor':'rgba(53,162,185,0.3)','width':'800px','bottom':'0px','left':'0px','身高':'7px'} “;

然后调用CSS,如: $( '东西')CSS(可变);

它有效。

问题: 从数据库中提取详细信息,我必须遗漏一些东西。当我在firebug中查看变量时......它看起来被截断了。但为什么警报会显示正确的信息?

我还将数据库字符串回显到[li]中,当我在firebug中查看它时,它也看起来被截断了。请看下面的图片。

enter image description here

请注意信息被截断。

任何想法?!!

1 个答案:

答案 0 :(得分:0)

我认为你加载变量的方式,javascript你想要一个对象时加载字符串的东西。将字符串转换为对象并将其加载到css()。

var obj = jQuery.parseJSON('{"background-color":"#00ff00"}');
alert( obj.background-color === "#00ff00" );

.css(obj);