The fo开发者_StackOverflow中文版llowing doesn't work:
<!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>
But if you change setAttribute to ("width", "800"), it works with no problem! What am I missing?
document.getElementById("foo")
.setAttribute("style", "background-color: #00FF00;");
width
is an attribute. background-color
is a style and should be placed as such
According to the specification embed
has a width
attribute but doesn't have a bgcolor
attribute.
It is a replaced element anyway, so whatever colour it is, it will take from the Flash object anyway.
Like Nael said background-color
is a style. That said beyond the fact that updating the existing style attribute using setAttribute is very difficult, it's also not very reliable. If your planning on doing anything more involved seriously consider a JavaScript library.
精彩评论