Показать сообщение отдельно
  #1 (permalink)  
Старый 22.04.2011, 12:27
Новичок на форуме
Отправить личное сообщение для pavel_martin Посмотреть профиль Найти все сообщения от pavel_martin
 
Регистрация: 22.04.2011
Сообщений: 3

Непонятка с nextSibling
Добрый день!
Я столкнулся с непонятной цепочкой кода:

HTML
<tr>
                        <td class="label">имя: * </td>
                        <td>
                            <input id="name" type="text" />
                        </td>
                        <td class="note"></td>
                    </tr>

На элемент <input id="name" type="text" /> подцеплен обработчик onblur
который проверяет пустой ли он. Если пустой то в ячейку <td class="note"></td> Записывается текст о том, что его нужно заполнить.
JavaScript
Код:
if (!isNotEmpty(element)) {
        element.style.border = '1px solid #FD796A';
        element.style.color = '#C70000';

        var noteColumn = element.parentNode.nextSibling.nextSibling;
        noteColumn.innerHTML = 'это поле нужно заполнить';
      
        return false;
..
Этот фрагмент не мой.
Вопрос! Почему для получения ячейки <td class="note"></td> нужно выполнить цепочку кода element.parentNode.nextSibling.nextSibling?
Ведь element.parentNode это содержащий element td, а element.parentNode.nextSibling это и есть <td class="note"></td>.

В чём тут дело? Заранее благодарен.
Ответить с цитированием