首页 > JavaScript 怎么删除一个对象的样式中的某个属性?

JavaScript 怎么删除一个对象的样式中的某个属性?

    var img=document.createElement("img");
    img.src="小羊.png";

    //创建一个新元素(任意元素)
    var aobj=document.createElement("a");

    with(aobj)
    {
    href="https://.com/ask";
    target="_blank";
    style.backgroundColor='yellow';
    style.float= "left";
    style.overflow="hidden";
    appendChild(img);
    }
    one.appendChild(aobj);

我想写个子程序,把我刚才创建的对象的 aobj.style.backgroundColor='yellow' 清除,怎么做呢?
是还原默认值吗?
还有别的办法吗?

************************************************************我是华丽的分隔符****************************************

下面是总结大家的答案:
其实没法直接删除,只能改成别的值;
改的方法可以直接改!
也可以改属性的字符串,正则替换,替换,删除都行!


document.getElementById("MyID").className =
document.getElementById("MyID").className.replace(/\bMyClass\b/,'');

其中的MyClass换成你要移除的样式名。

来自 http://stackoverflow.com/questions/21557...


简单无脑的做法是:

style.backgroundColor='';

当然说不定在你设yellow之前这个元素就有别的行内背景色,那就先保存起来呗:

oldColor = style.backgroundColor
style.backgroundColor='yellow';
// 恢复
style.backgroundColor= oldColor;

还有不是必要不要用with……


还原默认值吧


dom.style.backgroundColor = '';
dom.style.backgroundColor = 'initial';//ie不支持

把原来的颜色设置回去


你试试delete可以不,还真没试过……


取得整个style的值,也就是说一个有所有属性和值的字符串,用你期待的东西替换它,没有就用空字符串替换。
例如:
string_replace(" backgroundColor = blue", " ");

不好意思,伪代码,看懂意思就行了。
我是在MDN上看到这种用法的。

【热门文章】
【热门文章】