如何使用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-styleborder-colorborder-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"; } 

希望这可以帮助

-标记