childNodes - работает только в FF

berkut

Новичок
childNodes - работает только в FF

Пример ниже работает только в FF, в опере выдаёт undefined, в IE ошибку. Это FF неправильный или опера с ие? И как с этим бороться?
Код:
<form name="test_form">
    <table>
        <tr>
            <td> TEXT </td>
        </tr>
    </table>
</form>
<script>
el = document.test_form;
alert(el.childNodes[1].childNodes[1]);
</script>
 

berkut

Новичок
потому-что индекс 0 - это элемент узел #text(перевод строки, пробелы)

-~{}~ 14.05.07 20:24:

кашмар. в ие в отличии от оперы и ff пробелы не считаются узлами. причём в данном примере, в ff el.childNodes[1].childNodes[0] - это #text
а в опере - это TBODY.
как тогда вставить элемент после определённого элемента, при том, что у искомого элемента нет ни id, ни name??
 

voituk

прозревший
berkut
Я бы на твоем месте на это особо не надеялся.
Да и подход какой-то кривоватый.
Тебе к конкретной ячейке доступ получить или таблицу обойти надо?

-~{}~ 14.05.07 18:27:

Насчет пробелов - почитай внимательнее спецификацию XML - там все описано.

А tbody, если мне не изменяет память, и в IE должен быть.
 

berkut

Новичок
voituk мне нужно получить определённый TR таблицы и перед ним вставить код(дополнительный ряд). Подход кривой, но я не могу влиять на код самой таблицы, могу только прицепить на страницу яваскрипт.
В спецификации xml есть атрибут preserveWhiteSpace, но в браузере он не работает.


dark-demon
ничего по ссылке по теме нет. tbody в html и xhtml как-то не к месту. документ-то у меня один, html
 

voituk

прозревший
berkut
внимательнее читай что тебе dark-demon написал
Если же "чукча не читатель" то обходи дерево но и фильтруй узлы по tagName.
 

berkut

Новичок
dark-demon ты бог. getElementsByTagName - божественная функция. моя жинь стала намного красочнее
 
Сверху