如何使用javascript删除css属性?

sat*_*sat 179 javascript css

是否可以使用JavaScript删除元素的CSS属性?我有div.style.zoom = 1.2,现在我想通过JavaScript删除缩放属性?

Rol*_*man 167

通常,您无法从内置对象中删除属性,当然也不能在IE中删除(样式对象的缩放属性是IE扩展)

您可以将其设置为默认值:

el.style.zoom = "";
Run Code Online (Sandbox Code Playgroud)

现在,有效缩放将是样式表中设置的定义(通过链接和样式标记)

所以这个语法只会修改这个元素的本地样式.


小智 110

removeProperty将从元素中删除样式.

例:

div.style.removeProperty( '变焦');

MDN文档页面:
CSSStyleDeclaration.removeProperty

  • 为了清楚起见,正如您所期望的那样[正确记录在MDN](https://developer.mozilla.org/en-US/docs/Web/API/CSSStyleDeclaration/removeProperty): (4认同)
  • 我无法在MDN上找到任何记录 (2认同)

joe*_*joe 21

div.style.removeProperty('zoom');
Run Code Online (Sandbox Code Playgroud)


jam*_*iss 9

您可以使用styleSheets对象:

document.styleSheets[0].cssRules[0].style.removeProperty("zoom");
Run Code Online (Sandbox Code Playgroud)

警告#1:您必须知道样式表的索引和规则的索引.

警告#2:浏览器不一致地实现此对象; 什么在一个工作可能不适用于其他人.


T.T*_*dua 6

element.style.height = null;
Run Code Online (Sandbox Code Playgroud)

输出:

<div style="height:100px;"> 
// results: 
<div style="">
Run Code Online (Sandbox Code Playgroud)

  • 为什么有人应该关心“IE”浏览器?我已经故意忽略它们很多年了。 (2认同)

nai*_*sts 5

您可以尝试查找所有具有此类的元素并将“缩放”属性设置为“无”。

如果您使用的是 jQuery javascript 库,则可以使用 $(".the_required_class").css("zoom","")

编辑:删除此声明,因为事实证明它不正确,正如评论和其他答案中指出的那样,自 2010 年以来确实有可能。

错误:没有众所周知的从 JavaScript 修改样式表的方法。

  • 就在这里。以编程方式修改样式表虽然 javascript 并不难。它以出色的性能跨浏览器工作,并且在更改一组元素上应该相同的属性时确实很有意义。2010 年 1 月的情况也是如此。这是一个简短的例子:http://stackoverflow.com/questions/14927706/how-do-you-modify-properties-of-a-large-amount-of-elements-in-a-good-way/14930638#14930638 (5认同)