我已将此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中查看它时,它也看起来被截断了。请看下面的图片。
请注意信息被截断。
任何想法?!!
答案 0 :(得分:0)
我认为你加载变量的方式,javascript你想要一个对象时加载字符串的东西。将字符串转换为对象并将其加载到css()。
var obj = jQuery.parseJSON('{"background-color":"#00ff00"}');
alert( obj.background-color === "#00ff00" );
.css(obj);