- From: Patrick Garies <pgaries@fastmail.us>
- Date: Tue, 22 Jul 2008 04:42:08 -0500
- To: nimblehost <jhead@hawaii.edu>
- CC: www-dom@w3.org
nimblehost wrote: > The code I've come up with is as follows: > > <script type="text/javascript"> var mediaType = > document.getElementsByTagName("link"); for(x=0; x<mediaType.length; > x++) { mediaType.item(x).setAttribute("media", "all"); } </script> > > Using firebug to check the current tree of nodes shows that the media > attribute remains unchanged. I'm at a loss at how to fix this > problem. Any and all help is greatly appreciated. I just tested this in Mozilla Firefox 3.0.1 by changing a |link| element’s |media| attribute value from |print| to |all| and found no issues. I checked Firebug 1.2.0b6 and noticed that the DOM had been modified as expected. I don’t see any issues in your shown code assuming that you’re sending your XHTML via the MIME type text/html. The problem must be elsewhere in your code. You may want to verify that the script is executed /after/ your |link| element is created in the DOM. Your code could use some improvements nevertheless: * In XHTML served via an XML MIME type, the |getElementsByTagNameNS| method should be used instead of |getElementsByTagName|. * You should declare your variables (i.e., |var x = 0|). * The MIME type text/javascript is deprecated in favor of the MIME types application/javascript and application/ecmascript. Unfortunately, neither are supported in Windows Internet Explorer up to version 7. — Patrick Garies
Received on Tuesday, 22 July 2008 09:42:54 UTC