Вставить DIV сразу после тега <body> - PullRequest
4 голосов
/ 04 июня 2011

У меня есть следующий код:

<script type="text/javascript">
    $(document).ready(function() {
        $('<div id="tools" style="text-align:right;float:right;"><input type="button" value="Print this page" onclick="window.print();return false;" /><input type="button" value="Save this page" onclick="go_saveas();return false;" /></div>').insertBefore('body');
    });
</script>

По сути, мне нужно вставить весь этот Div сразу после тега <body>:

</head>
<body>
    <div id="tools"..
...

Что работает в Firefox, но не работает в IE 7, что мне нужно изменить, чтобы это исправить?

Ответы [ 3 ]

12 голосов
/ 04 июня 2011

Вы используете insertBefore. Это попытается поместить это между head и body; не то, что вы хотите. Попробуйте prependTo.

2 голосов
/ 04 июня 2011

Вместо использования insertBefore, используя prependTo.Таким образом:

<script type="text/javascript">
    $(document).ready(function() {
        $('<div id="tools" style="text-align:right;float:right;"><input type="button" value="Print this page" onclick="window.print();return false;" /><input type="button" value="Save this page" onclick="go_saveas();return false;" /></div>').prependTo('body');
    });
</script>

insertBefore вставляет ваш код перед тегом.Вот почему это доставляет вам проблемы.Вам повезло, что Firefox исправил это до того, что вы хотели.Теперь prependTo вставляет его в тэг, но перед всем его содержимым.;)

2 голосов
/ 04 июня 2011

http://jsfiddle.net/XDFMt/:

<script type="text/javascript">
    $(document).ready(function() {

        $('<div id="tools" style="text-align:right;float:right;"><input type="button" value="Print this page" onclick="window.print();return false;" /><input type="button" value="Save this page" onclick="go_saveas();return false;" /></div>')
            .prependTo('body');

    });
</script>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...