изучаю dom
html имеет 2 потомка head и body.
alert(document.body.parentNode) дает html. почему alert(document.head.parentNode) не дает html. |
А в каком браузере? В Chrome дает:
alert( document.head.parentNode ); |
в FF дает ошибка: document.head is undefined
|
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <title>О лосях</title> <script> alert(document.body.firstChild) </script> </head> <body> Правда о лосях. <ol> <li> Лось - животное хитрое </li> <li> .. И коварное </li> </ol> </body> </html> еще первый ребенок у body должен быть ol ничего не дает |
Это совсем другое. Просто у document нет свойства .head. Используй другой способ получить его:
if( !document.head ) document.head = document.getElementsByTagName( "head" )[ 0 ] alert( document.head.parentNode ); |
Цитата:
Цитата:
|
а почему условие проверяется через if?, я видела (?: )
и второй вопрос не могу разобраться с this. Написано, что это указатель и зависит от контекста. Провожу аналогию: указатель, это на вокзале указывает выход в город, на 5,6 путь, в камеры хранения ит.д. Контекст это например коса у девочки, коса косит траву, коса в море, это зависимо от контекста. с чем это можно сравнить, чтобы понять смысл? |
да дает ошибку, хотела отредактировать у меня не получилось
|
Цитата:
ЭТО по-умолчанию - window, глобальный объект. //говорит о контексте. function a(){alert(this)} a(); // window. var myObj = {}; a.call( myObj )// сменили переменную this на этот пустой объект // по умолчанию ? a.call( null ); // window a.call( undefined ); |
а если я уберу текст "Правда о лосях", будет 1 ребенком ol?
большое Вам спасибо я добавлю Вам 1 |
нет, будет текст - перенос строки
|
да дает ошибку ошибка: syntax error
|
Цитата:
еще мне не понятно почему Body еще не существует а что нужно сделать, чтобы первым ребенком был ol? и что ему надо чтобы Body существовало? |
<body><ol> тогда будет первым. body будет существовать,если поместить скрипт ниже body :) или вызывать функцию взаимодействия с dom по загрузке страницы |
document.body is null
file:///C:/Documents%20and%20Settings/SY/%D0%A0%D0%B0%D0%B1%D0%BE%D1%87%D0%B8%D0%B9%20%D1%8 1%D1%82%D0%BE%D0%BB/pervaya_rabota/poisk_dom/%D0%9A%D0%BE%D0%BF%D0%B8%D1%8F%20(2)%20los.html Line 6 Firebug дает ошибку, но в чем ошибка, я в этом ничего не понимаю, где почитать подскажите плз. Еще я не понимаю, что означает [object Object] |
Да, ошибка убралась, когда перенесла скрипт ниже Body.
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <title>О лосях</title> </head> <body><ol> <li> Лось - животное хитрое </li> <li> .. И коварное </li> </ol> <script> alert(document.body.firstChild) </script> </body> </html> когда запустила отсюда получилась ошибка ошибка: syntax error а с чем это связано? |
йцукен енгшщ
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <title>О лосях</title> </head> <script> window.onload = alert(document.body.firstChild) </script> <body><ol> <li> Лось - животное хитрое </li> <li> .. И коварное </li> </ol> </body> </html> вызывать функцию взаимодействия с dom по загрузке страницы я правильно поняла или нет? __________________ |
<html> <head> <title>О лосях</title> <script> window.onload = function () { alert(document.body.firstChild); } </script> </head> <body> <ol> <li> Лось - животное хитрое </li> <li> .. И коварное </li> </ol> </body> </html> |
Верно, когда страница полностью загрузится сработает событие onLoad и вызовет функцию, в функции же происходит работа с DOM.
|
спасибо, значит я сделала не правильно, уже исправила.
|
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <title>О лосях</title> </head> <script> window.onload = function () { alert(document.body.firstChild); alert(document.ol.firstChild); } </script> <body><ol><li> Лось - животное хитрое </li> <li> .. И коварное </li></ol></body> </html> скажите плз первый ребенок ol так не появляется, а должен появиться li. что ему надо? |
Недавно изучаю великий и могучий javascript, но, по-моему, для того чтобы работало надо найти элемент в дереве:
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <title>О лосях</title> <script> window.onload = function () { var ol = document.getElementById('id'); alert(document.body.firstChild); alert(ol.firstChild); } </script> </head> <body><ol id='id'><li> Лось - животное хитрое </li> <li> .. И коварное </li></ol> </body> </html> И Ольга, заключайте код html в html теги, а не JS, а то так javascript не будет работать здесь. |
alert( document.head.parentNode );
да, в хроме дает HTML |
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <title>О лосях</title> <script> var newDiv = document.createElement('div') newDiv.className = 'my-class' newDiv.id = 'my-id' newDiv.style.backgroundColor = 'red' newDiv.innerHTML = 'Привет, мир!' </script> </head> <body> Правда о лосях. <ol> <li> Лось - животное хитрое </li> <li> .. И коварное </li> </ol> </body> </html> хочу создать новый элемент, что ему надо чтоб создался DIV. |
documen.body.appendChild(newDiv);
|
Цитата:
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <title>О лосях</title> </head> <body> Правда о лосях. <ol> <li> Лось - животное хитрое </li> <li> .. И коварное </li> </ol> <script> var newDiv = document.createElement('div') newDiv.className = 'my-class' newDiv.id = 'my-id' newDiv.style.backgroundColor = 'red' newDiv.innerHTML = 'Привет, мир!' documen.body.appendChild(newDiv); </script> </body> </html> поставила, но наверное еще что-то надо, нигде не появилось "привет мир" |
Строка N26 ошибка нужно писать document а у Вас documen.
Учитесь пользоваться отладчиками, в каждом браузере есть вызываются быстрой клавишей F12. |
Magneto,
спасибо большое, но 1 чего-то Вам не ставится, позже поставлю |
Часовой пояс GMT +3, время: 00:50. |