覆盖自动生成的CSS

时间:2012-03-21 13:43:35

标签: javascript jquery html

我正在使用Jquery所见即所得的编辑器,它在运行时自动将代码添加到textarea。

我的问题是它插入了一个样式=“width:320px”的内联样式,我需要将其关闭,因为我已经设置了样式以使其达到100%

无论如何使用jquery

删除或覆盖该代码

它基本上是在一个名为wysiwyg的类的div中添加内联样式...

这样:

<div class="wysiwyg" style="width:320px">

我遇到麻烦的编辑叫做:jWYSIWYG

这是一个演示网址:http://akzhan.github.com/jwysiwyg/help/examples/

6 个答案:

答案 0 :(得分:5)

如果要覆盖内联样式,您有两个选择:

纯CSS:

.wysiwyg {
    width: 120px !important;
}

jQuery的:

$(".wysiwyg").css({width:120});

如果您想使用其他地方的样式,您也可以这样做:

$(".wysiwyg").css({width:"inherit"});

答案 1 :(得分:1)

使用jQuery重置width

$('.wysiwyg').css('width', '100%');

或者,您可以完全删除style属性:

$('.wysiwyg').removeAttr('style');

答案 2 :(得分:1)

您是否曾尝试使用以下方式声明自己的CSS:

!important

例如

#textarea-id { width: 300px !important; }

答案 3 :(得分:0)

您可以使用!important定义新的css规则,也可以使用jquery:

$("rule target").width(value);

答案 4 :(得分:0)

这应该适合你:

$('.wysiwyg').removeAttr("style");

或者您可以将宽度设置为100%

$('.wysiwyg').css("width", "100%");

答案 5 :(得分:0)

如果您有服务器端DOM操作模块,则可以使用removeAttribute() DOM方法在服务器端删除不需要的属性。

或者您可以尝试创建自己的WYSIWYG JS模块的略微修改版本。