2011-07-22 117 views
0

下不起作用:设置bgcolor属性值

<!DOCTYPE HTML> 
<title>Test</title> 
<embed id="foo" src="http://www.w3schools.com/media/bookmark.swf" width="400" height="40" type="application/x-shockwave-flash" /> 

<script type="text/javascript"> 
document.getElementById("foo").setAttribute("bgcolor", "#00FF00"); 
</script> 

但是,如果你改变的setAttribute( “宽度”, “800”),它没有任何问题的作品!我错过了什么?

任何帮助表示赞赏!

迈克

回答

2
document.getElementById("foo") 
         .setAttribute("style", "background-color: #00FF00;"); 

width是一个属性。 background-color是一个样式,应该放在这样

+0

感谢您的答案,但它们是两回事。要明白我的意思,请尝试将bgcolor =“#00FF00”添加到嵌入代码,并将其与更改样式背景颜色进行比较。 – Mori

2

根据to the specificationembedwidth属性,但没有一个bgcolor属性。

无论如何它是一个被替换的元素,所以无论它是什么颜色,它都会从Flash对象中取出。

+0

那么如何在不使用setAttribute方法的情况下更改属性值?任何选择? – Mori

0

像Nael说的background-color是一种风格。这超出了使用setAttribute更新现有样式属性非常困难的事实,这也是not very reliable。如果您的计划更多地涉及到认真考虑JavaScript库。

+0

是否有替代setAttribute方法? – Mori

+0

是的,当然,使用[YUI DOM包](http://developer.yahoo.com/yui/dom),它非常小,并为您提供了一个用于处理DOM元素的广泛的API。看看上面的链接的例子。你会看到使用addClass的例子。 –

+0

我看到了参考资料,并学会了如何添加类等。但是我找不到与添加/更改属性相关的任何内容。 – Mori