从Jquery动态更改css类属性?

时间:2013-09-12 11:19:38

标签: javascript jquery css css3

我的项目有一个情况,在css我有一个班级

现在是空的

#version_mobile.hidden
{

}

在js我这样做

this.$("#version_mobile.hidden").css({right: - window.text_mobile_width});

(我说我的选择器很糟糕?)

如何使用此动态创建的值为此类添加“正确”属性?

到班级成为

#version_mobile.hidden
    {
     right : -450px;
    }

顺便说一句我需要使用这个类,因为动画正在使用它:/

5 个答案:

答案 0 :(得分:2)

.css()函数会更改内联css样式,但对css类完全没有影响。

正如文档中所指出的那样:

  

当使用.css()作为setter时,jQuery会修改元素的样式   属性。

您还可以使用jQuery的addClass()removeClass()甚至toggleClass()函数更改类。

答案 1 :(得分:0)

您无法添加到类属性,但可以将规则应用于元素样式。

答案 2 :(得分:0)

this.$("#version_mobile.hidden").css({"right", "- window.text_mobile_width"});

您无法在jquery中添加类的定义。 但你可以为你的选择添加任何风格。

答案 3 :(得分:0)

你想要达到什么目标?

您无法使用此属性向css文件添加属性。

你应该看看你将这个id或类应用于你的html元素

使用jquery选择器访问javascript中的元素

$(#selector)并使用.css修改属性。

因此,您将获得与此相关的任何现有属性样式相同的结果 元素将被覆盖通过jquery的最新样式。

答案 4 :(得分:0)

技术上可以动态修改样式规则,但这很难。

document对象中,您将找到一个名为styleSheets的(数组)属性,每个引用的样式表都有一个条目。

每个样式表对象(类型为CSSStyleSheet)都有insertRule方法,您可以使用该方法创建新规则或删除现有规则。看似困难的是枚举现有规则集,以便您可以找到要修改或删除的规则。

也就是说,简单地更改元素的类比尝试动态更改现有类的样式通常更为可取。

另见http://davidwalsh.name/add-rules-stylesheets