Question: is this a valid JQuery usage pattern to :

```
<script type="text/javascript">
        $("body").prepend('<input type="hidden" id="error" value="show">');         
    </script>

```

That is using Jquery to manipulate / insert HTML Tags **when the Document has NOT YET been loaded** (by not using document.ready for the inserting into the DOM)?

(Normally I only use document.ready, but in this case I need to insert some Information into the DOM that then is present, when document.ready is called. This is some kind of "happens-before" relations ship I want to achieve so that I am shure when document.ready is called the inserted Form field is available in the document, as I depend on that information.

Thank you very much
jens

Answer: 
Yes, you can do that, but:

* You have to place the script somewhere after the closing tag of the element that you add elements to. That means that the body element is not a good candidate to prepend anything to.
* Make sure that the HTML code is valid. If you are using XHTML you should self close the input element.

Consider using the object creation model instead of innerHTML model:

```
$("#someElement").prepend(
  $('<input/>').attr({ 'type': 'hidden', 'id': 'error' 'value': 'show' })
);

```

This will create the element as a DOM object instead of using innerHTML to parse the HTML code.
IE may fail loading such HTML - it has problems when someone modifies not fully rendered elements. I think the right choice would be placing such code just after tag.