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


当前回答

你可以试着找到所有具有这个类的元素,并将“zoom”属性设置为“nothing”。

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

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

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

其他回答

你可以试着找到所有具有这个类的元素,并将“zoom”属性设置为“nothing”。

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

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

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

实际上,如果你已经知道这个性质,这就可以了。

例如:

<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语句中转义一些字符,但您可以理解。

这应该做的技巧-设置内联样式为正常缩放:

$ (' div ')。attr(“风格”,“变焦:正常;”);

element.style.height = null;

输出:

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

你可以使用styleSheets对象:

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

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

警告#2:该对象由浏览器实现不一致;在一种情况下有效的方法在另一种情况下不一定有效。