FF不能正确改变attr中的css

时间:2013-05-16 10:54:34

标签: jquery

我在浏览器调整大小时设置了以下attr,但是firefox只识别position:absolute,但也不识别left属性。在Chrome中这是正常的。

JQuery的:

jQuery('.quick-access').attr('style', 'position:absolute; left: -100px !important');

它根本不会改变左侧位置,但Chrome会。

有什么想法吗?

此外,它需要内联,因为它有一些内联规则开始。

编辑:

我也尝试使用.css方法,但它没有应用。

       jQuery('.quick-access').css({
            'position' : 'absolute',
            'left' : '-100px !important'
       });

我尝试取出!重要但无论如何它都不起作用。

3 个答案:

答案 0 :(得分:2)

除非您出于特定原因使用attr()方法,否则更容易使用jQuery css()方法,如下所示:

$('.quick-access').css({
    position: 'absolute',
    left: -100
});

您无法使用jQuery !important方法指定css(),或根据我的知识指定任何方法......

<强>更新

实现目标的另一种方法是简单地添加/更改相关元素的class(.quick-access)。

你可以这样做:

$('.quick-access').addClass('newStyles');

然后你可以设置newStyles来覆盖原始样式:

.newStyles {
    position: absolute;
    left: -100px !important;
}

答案 1 :(得分:2)

!important不能以这种方式在jquery中工作....我建议你创建一个具有该样式的类,并使用addClass

添加类

这是你可以做的 -

css -

.offset {
  position : absolute;
  left : -100px !important;
}

js -

jQuery('.quick-access').addClass('offset');

答案 2 :(得分:1)

使用.offset()

尝试此操作
jQuery('.quick-access').offset({ left: -100 });