【问题标题】:Setting element styles with javascript in firefox在 Firefox 中使用 javascript 设置元素样式
【发布时间】:2014-07-16 16:13:44
【问题描述】:

我有一些我正在即时设置的尺码样式。我一般用chrome开发,直接在元素的style属性上设置属性,如下所示:

element.style['padding-right'] = computedRightPadding + 'px';

我最近发现这在 Firefox(版本 24.6.0)中不起作用。元素对象上的属性看起来设置正确,但元素的实际样式没有变化。我有一个小提琴显示这个here.

用 javascript 设置这种样式有什么好的跨浏览器方法?我找到了this question,它说要执行我当前使用的方法,但不起作用。我宁愿不依赖外部库来完成看似微不足道的操作。

【问题讨论】:

  • element.style.paddingRight 将在任何地方工作。而且,.. 它不会仅仅为了取消引用属性而创建一个字符串实例。

标签: javascript html firefox


【解决方案1】:

使用:parent.style.paddingRight = '100px';

jsFiddle example

parent.setAttribute('style', 'padding-right:100px;');

jsFiddle example

【讨论】:

  • 但是第二种选择会重置元素上定义的所有其他样式属性(通过样式属性,而不是通过类)。检查:jsfiddle.net/y89yU/1 - padding-right 不见了。
  • @techfoobar 是的。如果您想使用连字符名称,您真正想要的是parent.style.setProperty('padding-right', '100px')
猜你喜欢
  • 2012-03-26
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2010-09-25
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多