2 голоса
 
892 просмотра
9.05.2017 / 05:57  Meshpil

Javascript childNodes

Добрый день, помогите пожалуйста не могу разобраться почему данный скрипт не срабатывает. Везде облазил не помогло. Вот скрипт:
  1. <!DOCTYPE html>
  2. <html>
  3.     <head>
  4.         <title>Page Title</title>
  5. <script>
  6. function b() {
  7. alert(document.getElementById('a').childNodes[0].innerHTML);
  8. }
  9. </script>
  10. <style>
  11. #a {
  12.   /*width: auto;
  13.    height: auto;*/
  14.    border: 1px solid red;
  15.    border-radius: 200px;
  16.    border-width: 3px;
  17.    background: black;
  18.    font-family: monospace;
  19. }    
  20. </style>
  21. </head>
  22.     <body>
  23.         <h1>Ну это параграф вообще-то.</h1>
  24.         <p id="a" onclick="b()"><h2>Здесь напишем какой-то цвет.</h2></p>
  25.     </body>
  26. </html>
Изм. Meshpil от 9.05.2017 / 05:57
Ответы
 
3 голоса
 
# 9.05.2017 / 09:17  RblSb
Наверно тут что-то касаемо того что у <p> не может быть потомков, или заголовки не считаются за них. Еще и onclick не реагирует на потомков в таком случае. В общем, лучше делать все на дивах и жизнь станет проще.
9.05.2017 / 09:40  aNNiMON
Подтверждаю. При загрузке этого фрагмента html, параграф разобьётся на два тега:
  1. <h1>Ну это параграф вообще-то.</h1>
  2. <p id="a" onclick="b()">
  3.   </p><h2>Здесь напишем какой-то цвет.</h2>
  4. <p></p>
https://jsfiddle.net/guamge56/
9.05.2017 / 11:29  Meshpil
Спасибо :). Должен заметить что когда я сменил 'p' на 'div' поменялся и визуальный вид элемента) . Меня это удивляет. Хоть на сколько я знаю они практически идентичные. Единственное чем отличаются только по их названию, но что б еще и так похоже надо подучить HTML :).
9.05.2017 / 12:06  aNNiMON
У параграфа могут быть отступы по умолчанию, потому и вид другой будет.
 
0 голосов
 
# 9.05.2017 / 09:32  vladgba
тут какие-то странные знаки пробела в том числе здесь: id="a" onclickЗаменив их на нормальные, код у меня заработал
Изм. vladgba от 9.05.2017 / 09:35
9.05.2017 / 12:19  vladgba
хотя может это из-за моего телефона так :gg:
Всего: 2

Реклама

Мы в соцсетях

tw tg yt gt