Javascript-форум (https://javascript.ru/forum/)
-   Events/DOM/Window (https://javascript.ru/forum/events/)
-   -   вставить тег перед </body> (https://javascript.ru/forum/events/34941-vstavit-teg-pered-body.html)

soniclord 25.01.2013 09:59

вставить тег перед </body>
 
Доброго времени суток, уважаемые Гуру.

Подскажите пожалуйста, как мне вставить перед тегом </body> свой тег (по сути html-код)?

Сколько ни гуглил - натыкался на insertBefore - но мне ведь нужно вставить перед закрывающим тегом а не перед открывающим...

p.s. без использования jquery
p.p.s. нашел это, но не работает
var addedElement = document.createElement('p');
addedElement.appendChild(document.createTextNode('Hello, world!'));

var body = document.body;
body.insertBefore(addedElement, body.firstChild);

ksa 25.01.2013 10:12

Цитата:

Сообщение от soniclord
вставить перед тегом </body> свой тег (по сути html-код)?

И что то за тег?

soniclord 25.01.2013 10:14

всем спасибо (мне особенно), вышел следующий код

<script type="text/javascript"><!--
function add_h3() {
  // creates a H3 element, class and html content
  var new_h3 = document.createElement('h3');
  new_h3.className = 'cls';
  new_h3.innerHTML = 'The <i>html text</i> content';

  // gets the reference tag
  var reference = document.getElementsByTagName('body');

  // add 'new_h3' before 'reference', inside body
  document.body.insertBefore(new_h3, reference);
}
--></script>
<div id="idiv">The reference element</div>
<button onclick="add_h3()">Add H3</button>


p.s. прошу сильно не ругать, искал 3 дня ответ на свой вопрос

soniclord 25.01.2013 10:18

подождите, если я убираю функцию (я хочу чтобы при загрузке страницы сразу добавлялся текст/тег в конец), то тег вставляется в начало, после <body>

devote 25.01.2013 10:18

Цитата:

Сообщение от soniclord
перед тегом </body>

<!DOCTYPE html>
<html>
    <head>
        <script type="text/javascript">
            window.onload = function() {
                var addedElement = document.createElement('p');
                addedElement.appendChild(document.createTextNode('Hello, world!'));

                if (document.body.firstChild) {
                    document.body.insertBefore(addedElement, document.body.firstChild);
                } else {
                    document.body.appendChild(addedElement);
                }
            }
        </script>
    </head>
    <body>Что-то есть!
    </body>
</html>

devote 25.01.2013 10:20

Цитата:

Сообщение от soniclord
я хочу чтобы при загрузке страницы сразу добавлялся текст/тег в конец

ну если в конец:
<!DOCTYPE html>
<html>
    <head>
        <script type="text/javascript">
            window.onload = function() {
                var addedElement = document.createElement('p');
                addedElement.appendChild(document.createTextNode('Hello, world!'));
 
                document.body.appendChild(addedElement);
            }
        </script>
    </head>
    <body>Что-то есть!
    </body>
</html>

soniclord 25.01.2013 10:37

Благодарю, добрый человек - это то что я искал! :)

Цитата:

Сообщение от devote (Сообщение 229334)
ну если в конец:
<!DOCTYPE html>
<html>
    <head>
        <script type="text/javascript">
            window.onload = function() {
                var addedElement = document.createElement('p');
                addedElement.appendChild(document.createTextNode('Hello, world!'));
 
                document.body.appendChild(addedElement);
            }
        </script>
    </head>
    <body>Что-то есть!
    </body>
</html>



Часовой пояс GMT +3, время: 06:58.