2013-03-08 17 views
7

Powiedzmy mamy ten znaczników:Jak uzyskać następny element przy użyciu 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> 

wiem, że istnieją .prependChild(), .appendChild(), .innerHTML, itp, właściwości i metody, ale to, co szukam jest sposób dodawania (append) zawartość po </body> zamknięcie tagu?

muszę tego bez użycia jQuery — jest to możliwe?

+0

Myślę, że większość przeglądarek nie pozwoliłaby na tworzenie nieprawidłowych funkcji DOM przez DOM. ('' html' może zawierać tylko 1 'head' i 1' body' oraz węzły komentarza, nic więcej.) – Roman

+0

więc znaczenie .. jeśli chcę dodać coś 'po ciele 'powinienem wtedy dodać element nadrzędny:' html 'tag? –

+0

@ ZlatanO. Co chcesz dodać ?! –

Odpowiedz

7

Jeśli użyjesz „id'.you mogą korzystać z tych właściwości:

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

to jest IT! Dziękuję Ci! –

+1

Warto wspomnieć, że jeśli istnieje odstęp między elementami, to 'nextSibling' zwróci' undefined'. Zobacz ten przykład tutaj: http://www.w3schools.com/code/tryit.asp?filename=FBONDLQCJA0W –

2

To nie będzie działać w jakiejś przeglądarce ponieważ zawartość po body nie jest«legalne». W każdym razie, byłoby to:

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

http://jsfiddle.net/yVKk6/ i sprawdzać ramkę wynik.

+0

z jakiegoś niewyjaśnionego powodu, dla którego mogłem dodać skrypty po wydaniu '', ale teraz zrozumiałem, że są albo dołączony/dodany do 'body' lub' head'! –

Powiązane problemy