- From: Garrett Smith <dhtmlkitchen@gmail.com>
- Date: Sun, 20 Sep 2009 19:29:23 -0700
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
Received on Sunday, 20 September 2009 19:29:23 UTC