如何删除使用JavaScript的CSS属性?

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

由于问题是如何删除一个CSS属性,你可能希望看到下面的 @EdvinasIlčenko的答案。

但是,您也可以将CSS属性设置为默认值:

 el.style.zoom = ""; 

现在缩放将从样式表中设置的定义(通过链接和样式标签)

这只会修改元素的样式。

removeProperty将从元素中删除样式。

例:

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

MDN文档页面:
CSSStyleDeclaration.removeProperty

 div.style.removeProperty('zoom'); 

你可以使用styleSheets对象:

 document.styleSheets[0].cssRules[0].style.removeProperty("zoom"); 

注意事项#1:您必须知道样式表的索引和规则的索引。

注意事项#2:该对象由浏览器不一致地实现; 在其中一个工作可能不适用于其他人。

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

如果你正在使用jQuery JavaScript库,你可以使用$(".the_required_class").css("zoom","")

编辑:删除了这个陈述,事实certificate这是不正确的,正如在评论和其他答案中指出的那样,自2010年以来确实有可能。

假: 从JavaScript中修改样式表一般都不知道。

这应该做的伎俩 – 设置内联风格为正常的缩放:

$('div')。attr(“style”,“zoom:normal;”);

你也可以在jQuery中做这个,说$(selector).css("zoom", "")

 element.style.height = null; 

输出:

 <div style="height:100px;"> // ----------> <div style=""> 

其实,如果你已经知道财产,这将做到这一点…

例如:

 <a href="test.html" style="color:white;zoom:1.2" id="MyLink"></a> var txt = ""; txt = getStyle(InterTabLink); setStyle(InterTabLink, txt.replace("zoom\:1\.2\;",""); function setStyle(element, styleText){ if(element.style.setAttribute) element.style.setAttribute("cssText", styleText ); else element.setAttribute("style", styleText ); } /* getStyle function */ function getStyle(element){ var styleText = element.getAttribute('style'); if(styleText == null) return ""; if (typeof styleText == 'string') // !IE return styleText; else // IE return styleText.cssText; } 

请注意,这只适用于内联样式…不是你通过类或类似的东西指定的样式…

其他注意:你可能不得不在这个replace语句中转义一些字符,但你明白了。

要更改元素的所有类:

 document.getElementById("ElementID").className = "CssClass"; 

为一个元素添加一个额外的类:

 document.getElementById("ElementID").className += " CssClass"; 

要检查一个类是否已经应用到一个元素:

 if ( document.getElementById("ElementID").className.match(/(?:^|\s)CssClass(?!\S)/) ) 

使用jQuery( http://jquery.com ),可以通过以下方式完全删除一个元素的属性:

 $('div#idOfDiv').removeAttr('class'); 

在运行这行代码之前,只需包含jquery源代码即可。 另外,最好在文档完全加载之后再做这样的事情,这样做的确如此:

 $(document).ready(function() { $('div#idOfDiv').removeAttr('class'); }); 

在jquery源文件被包含之后也必须包含它。