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上看到这种用法的。