2011-07-22 116 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