- From: Brian Kuhn <bnkuhn@gmail.com>
- Date: Tue, 8 Dec 2009 11:49:45 -0800
How do I correctly set a boolean
attribute<http://dev.w3.org/html5/spec/Overview.html#boolean-attributes>on
a DOM element object in Javascript?
var script = document.createElement('script');
1. script.async = true; // makes the most sense, but appears go
against the spec
2. script.async = 'true'; // worse, but not bad, but also appears
to go against the spec
3. script.async = ''; // sets to empty string, but what does
that really mean?
4. script.async = 'async'; // sets async = async, which is weird
*and*verbose
And then you have the debate on setting the property directly versus using
setAttribute. Any thoughts on that?
To me, boolean attributes seem to break the rule of least
surprise<http://en.wikipedia.org/wiki/Principle_of_least_astonishment>.
I find it very hard to believe people will understand:
<script async="" src="..."></script> or <script async="async"
src="..."></script>
more than:
<script async="true" src="..."></script>
Thanks,
Brian
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.whatwg.org/pipermail/whatwg-whatwg.org/attachments/20091208/9c16ac4c/attachment.htm>
Received on Tuesday, 8 December 2009 11:49:45 UTC