Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/86.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 存储/检索CSS元素_Javascript_Jquery_Html_Css - Fatal编程技术网

Javascript 存储/检索CSS元素

Javascript 存储/检索CSS元素,javascript,jquery,html,css,Javascript,Jquery,Html,Css,我正在使用Web中的FormDesigner:HTML5+CSS3+jQuery,通过它,我可以将一个(div、textbox等)拖到表单上,并分别更改它们的css样式 我的要求:如何分别存储每个属性,以便能够轻松地独立检索?(通用、可重复使用、灵活) background: -webkit-gradient(linear, 0% 0%, 0% 100%, from(#666666), to(#666666), color-stop(0, #333333)) 我就是这样做的:(代码片段)

我正在使用Web中的FormDesigner:HTML5+CSS3+jQuery,通过它,我可以将一个(div、textbox等)拖到表单上,并分别更改它们的css样式


我的要求:如何分别存储每个属性,以便能够轻松地独立检索?(通用、可重复使用、灵活)

background: -webkit-gradient(linear, 0% 0%, 0% 100%, from(#666666), to(#666666), color-stop(0, #333333))

我就是这样做的:(代码片段)


我已经以
jSon
的方式存储了它们,但不知何故,我认为应该有更先进或更高效的方法,比如使用类/属性/方法,这样我就可以以通用、可重用和灵活的方式存储它们。

我认为你的做法是正确的。但是jQuery1.8引入了供应商前缀支持,这可能会对您有所帮助

我认为不需要指定类来动态修改元素的CSS。但是,保存表单时,可以在导出格式中使用CSS类定义。使用jQuery,您应该能够在
.css()
-方法中传入JSON对象;这样就不需要为每一行指定代码

供应商前缀CSS属性

当W3C提出为尚未标准化的CSS功能使用供应商前缀的想法时,它的心放在了正确的位置上,但这并没有带来童话般的结局。Web开发人员面临着在样式表中包含所有供应商前缀属性名称的噩梦。jquery1.8稍微减轻了痛苦。我们会自动获取不带前缀的属性名称,并生成适合当前浏览器的前缀,因此您不必这样做。例如,在Chrome上,jQuery调用$(“#myscroll”).css(“选框方向”,“向后”)将css设置为-webkit选框方向:向后


实际上,我并不担心厂商前缀的支持:)我怎样才能轻松地存储/检索CSS样式:背景、边框半径、框阴影等等。因为我想用一个集中式/泛型方法/类来存储它们,而不用担心它们的参数count=)那么,您已经提到了JSON。使用jQuery,将每个CSS属性存储为JSON对象成员,并将整个内容放入上面提到的jQuery.CSS()-funtcino中…
            cssObj[id] = {};
            cssObj[id].background = {};
            cssObj[id].background.webkitGradient = {};
            cssObj[id].background.webkitGradient.linear = {};
            cssObj[id].background.webkitGradient.linear.hPosStart = hPosStart;
            cssObj[id].background.webkitGradient.linear.vPosStart = vPosStart;
            cssObj[id].background.webkitGradient.linear.colorStart = colorStart;
            cssObj[id].background.webkitGradient.linear.hPosEnd = hPosEnd;
            cssObj[id].background.webkitGradient.linear.vPosEnd = vPosEnd;
            cssObj[id].background.webkitGradient.linear.colorEnd = colorEnd;
            cssObj[id].background.webkitGradient.linear.colorStop = {};
            cssObj[id].background.webkitGradient.linear.colorStop = colorStopArr;