Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 22.12.2014, 22:01
Интересующийся
Отправить личное сообщение для Jeick9 Посмотреть профиль Найти все сообщения от Jeick9
 
Регистрация: 08.10.2014
Сообщений: 23

Вывести текст после body
Здравствуйте.
Мне нужно добавить свой текст с помощью Js, сразу же после тега body. Получается только заменить содержимое body. Подскажите пожалуйста как это сделать?
Ответить с цитированием
  #2 (permalink)  
Старый 22.12.2014, 22:27
Профессор
Посмотреть профиль Найти все сообщения от krutoy
 
Регистрация: 09.11.2014
Сообщений: 610

сомневаюсь, что это получится. Браузер нынче черезчур умный пошел, он такой текст все равно в боди засунет, сука. А зачем?
Ответить с цитированием
  #3 (permalink)  
Старый 22.12.2014, 22:35
Интересующийся
Отправить личное сообщение для Jeick9 Посмотреть профиль Найти все сообщения от Jeick9
 
Регистрация: 08.10.2014
Сообщений: 23

то есть, я имею ввиду вывести текст после первого тега: <body> текст
Ответить с цитированием
  #4 (permalink)  
Старый 22.12.2014, 22:50
Профессор
Посмотреть профиль Найти все сообщения от krutoy
 
Регистрация: 09.11.2014
Сообщений: 610

Если знаете, какой элемент идет первым, можно так
<html>
  <head>
  </head>

  <body>
<div>foo</div>
<div>bar</div>

<script>

d=document.createElement("div")
d.innerHTML="baz"
first=document.querySelector("div")
document.body.insertBefore(d, first)

</script>
</body>
</html>

Последний раз редактировалось krutoy, 22.12.2014 в 23:04.
Ответить с цитированием
  #5 (permalink)  
Старый 22.12.2014, 23:03
Профессор
Посмотреть профиль Найти все сообщения от krutoy
 
Регистрация: 09.11.2014
Сообщений: 610

впрочем, можно и не зная, вот так
<html>
  <head>
  </head>

  <body>
<div>foo</div>
<div>bar</div>

<script>

d=document.createElement("div")
d.innerHTML="baz"
first=document.querySelector(document.body.innerHTML.match(/<(.+?)>/)[1])
document.body.insertBefore(d, first)

</script>
</body>
</html>

это канеш, костыльное решение, может кто-нибуль другое что покрасивей подскажет, я в доме не шарю, особо...
Ответить с цитированием
  #6 (permalink)  
Старый 22.12.2014, 23:10
Интересующийся
Отправить личное сообщение для Jeick9 Посмотреть профиль Найти все сообщения от Jeick9
 
Регистрация: 08.10.2014
Сообщений: 23

Спасибо, то что надо.
Ответить с цитированием
  #7 (permalink)  
Старый 23.12.2014, 09:58
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 31,332


<html>
  <head>
  </head>
  <body>
<div>foo</div>
<div>bar</div>
<script>
d=document.createElement("div")
d.innerHTML="baz"
document.body.insertBefore(d,document.body.firstChild)
</script>
</body>
</html>


<html>
  <head>
  </head>
  <body>
<div>foo</div>
<div>bar</div>
<script>
document.body.firstChild.data = "baz"
</script>
</body>
</html>
Ответить с цитированием
  #8 (permalink)  
Старый 23.12.2014, 10:46
Аватар для danik.js
Профессор
Отправить личное сообщение для danik.js Посмотреть профиль Найти все сообщения от danik.js
 
Регистрация: 11.09.2010
Сообщений: 8,804

Сообщение от krutoy
Браузер нынче черезчур умный пошел, он такой текст все равно в боди засунет, сука
Только при парсинге. С DOM же такое провернуть можно:
<body>
<script>
    var element = document.createElement('div');
    element.textContent = 'После body';
    document.documentElement.appendChild(element);
    alert(document.documentElement.innerHTML);
</script>
</body>
__________________
В личку только с интересными предложениями
Ответить с цитированием
  #9 (permalink)  
Старый 23.12.2014, 10:47
Аватар для danik.js
Профессор
Отправить личное сообщение для danik.js Посмотреть профиль Найти все сообщения от danik.js
 
Регистрация: 11.09.2010
Сообщений: 8,804

Сообщение от krutoy
first=document.querySelector(document.body.innerHT ML.match(/<(.+?)>/)[1])
ну ты лох))
__________________
В личку только с интересными предложениями
Ответить с цитированием
  #10 (permalink)  
Старый 23.12.2014, 14:11
Аватар для ruslan_mart
Профессор
Отправить личное сообщение для ruslan_mart Посмотреть профиль Найти все сообщения от ruslan_mart
 
Регистрация: 30.04.2012
Сообщений: 2,932

Ну если чисто текст, то:

var text = document.createTextNode('Мой текст');
document.body.insertBefore(text, document.body.firstChild);


Аналогично варианту от рони, только без использования HTML-тэга.
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Отследить клик по дочернему объекту AllanZ jQuery 3 05.09.2012 12:38
каким образом вывести текст с помощью SetTimeOut В DIV? bratkovsky Общие вопросы Javascript 2 04.08.2012 00:15
поиск текст - подсветка - переход к найденному rdfhnbhf jQuery 1 05.07.2012 12:49
Выравнять три дива в одной строке debugx (X)HTML/CSS 9 06.10.2011 12:03
Вопрос: И опять про offsetLeft... sigurd Общие вопросы Javascript 11 04.10.2010 14:06