如何使用jquery获取内联样式的CSS
我在asp.net mvc(C#)应用程序中从数据库动态加载样式。
我试图更改加载的内联样式的一些属性,如(背景,字体颜色,字体大小……)。 我正在使用jquery.rule来做到这一点。
我需要使用jquery更新完整的内联样式,包括更改,返回数据库。
头部内部的内联样式如下:
我需要更新内联样式。 怎么做?
我需要使用jquery更新完整的内联样式,包括更改,返回数据库。
您是否尝试读取页面中元素的内联样式声明? 如果是这样,这很棘手。 从理论上讲,您应该能够调用element.getAttribute('style')
或jQuery等价物。 但是,DOM属性访问在IE中不起作用; 实际上IE根本不存储文档中使用的属性,只存储由它产生的已解析样式声明。
没有一种特定于jQuery的方法来读取所有样式,但是您可以使用DOM Level 2 Style将有效的内联样式规则作为CSS。
var style= element.style.cssText;
但是在IE中,这将分离您使用的任何快捷方式属性,例如设置border
可以使您获得border-style
, border-color
和border-width
。 IE也将大写属性名称。 这对您来说可能或不重要。
您可能最好记住在单独的查找对象中进行的内联样式更改,以便您可以更轻松地阅读它。 您可以使用jQuery的data()
方法将其附加到element.style
,对$(element).data('stylestore')
和lookup $(element).data('stylestore')
对象进行所有更改,然后从查找中检索所有设置样式当你即将发布。
使用jQuery ajax方法将表单序列化数据发布到您的操作方法:
$.ajax({ type: "POST", url: "/YourController/UpdateCss", data: "font=arial&color=#fff&font-size=10px" success: function(result){ // handle your result here } });
然后,您可以通过“FormCollection”访问控制器操作中的发布数据:
[AcceptVerbs(HttpVerbs.Post)] public String UpdateCss(FormCollection form) { // handle your form here return "Success"; }
希望这可以帮助
-标记