[whatwg] document.head

Garrett Smith dhtmlkitchen at gmail.com
Sun Sep 20 19:29:23 PDT 2009


On Sun, Sep 20, 2009 at 2:47 PM, Michael A. Puls II
<shadow2531 at gmail.com> wrote:
> On Sun, 20 Sep 2009 16:15:11 -0400, Joseph Pecoraro <joepeck02 at gmail.com>
> wrote:
>
>> On Sep 20, 2009, at 3:57 PM, Michael A. Puls II wrote:
>>>
>>> I think it'd be cool to have to complement document.documentElement and
>>> document.body.
>>
>> On Sep 20, 2009, at 4: 00PM, Juriy Zaytsev wrote:
>>>
>>> Surely better than abominable –
>>> `document.getElementsByTagName('head')[0]` :)
>>
>> I agree. Unfortunately that is the most popular method I've seen.  There
>> are better solutions, but they haven't caught on.  I think a smarter idea
>> would be to look at the children of the <html> element.  Something like this
>> almost always works:
>>
>>   var head = document.documentElement.firstChild
>
> It wasn't very long ago though that in Opera for example, head wasn't
> guaranteed to be the first child of the documentElement. But, that'll work
> now and is pretty good.
>

The documentElement.firstChild cannot be expected to be head. It could
be a text node. For example:-

<html>
   <head>
...

the first child node of HTML looks like a textNode with the value
"\n\n\u0020\u0020".

document.getElementsByTagName("head")[0] could be expected to produce
(in a valid HTML document) a result that is more consistent than
document.firstChild.

Garrett
Garrett


More information about the whatwg mailing list