2013-03-08 3 views
7

Допустим, мы имеем следующую разметку:Как получить следующий элемент, используя только JavaScript?

<!DOCTYPE html> 
<html> 
<head> 
<meta charset="utf8" /> 
<title>project.js</title> 
<script src="project.js"></script> 
<script> 

</script> 
</head> 

<body> 
<h1>some project &mdash; javascript & html tests</h1> 
<hr /> 

    <p> 
     testing 123 
    </p> 
</body> 
</html> 

Я знаю, что есть .prependChild(), .appendChild(), .innerHTML, и т.д., свойства и методы, но то, что я ищу, как добавить (добавить) содержимое после </body> закрытие тегов?

Мне это нужно, без использования jQuery — Возможно ли это?

+0

Я думаю, что большинство браузеров не позволят вам создать недопустимый DOM через функции DOM. ('html' может содержать только 1' head' и 1 'body' элемент и узлы комментариев. Ничего другого.) – Roman

+0

так что смысл .. если я хочу добавить что-то' после тела', я должен просто добавить родителя: 'html 'тег? – 2013-03-08 08:57:38

+0

@ZlatanO. Что вы хотите добавить ?! –

ответ

7

Если вы используете «id'.you может использовать эти свойства:

document.getElementById('id').nextSibling; 
document.getElementById('id').previousSibling; 
+0

это IT! Спасибо! – 2013-03-08 09:04:14

+1

Стоит упомянуть, если между элементами есть пробел, 'nextSibling' вернет' undefined'. См. Этот пример здесь: http://www.w3schools.com/code/tryit.asp?filename=FBONDLQCJA0W –

2

Он не будет работать в каком-то браузере, потому что содержание после body не является„законным“. Во всяком случае, это было бы:

document.body.parentNode.appendChild(document.createTextNode('text after body')); 
document.body.parentNode.appendChild(document.createComment('comment after body')); 

http://jsfiddle.net/yVKk6/ и проверить Результат кадра.

+0

по какой-то необъяснимой причине. Я могу добавить скрипты после '', но теперь я понял, что они либо добавлено/добавлено к 'body' или' head'! – 2013-03-08 09:12:04

Смежные вопросы