Из Сравнение последовательностей и других типов в учебнике Python:
Сравнение использует лексикографическое упорядочение: сначала сравниваются первые два элемента, и если они отличаются друг от друга определяет результат сравнения; если они равны, сравниваются следующие два элемента и так далее, пока не будет исчерпана любая последовательность.
blockquote>
это потому, что Firefox рассматривает пробелы между узлами элементов как текстовые узлы (тогда как IE этого не делает), и поэтому использование .nextSibling
в элементе получает этот текстовый узел в Firefox.
Полезно иметь функцию для получения следующего узла элемента. Что-то вроде этого
/*
Credit to John Resig for this function
taken from Pro JavaScript techniques
*/
function next(elem) {
do {
elem = elem.nextSibling;
} while (elem && elem.nodeType !== 1);
return elem;
}
, тогда вы можете сделать
var elem = document.getElementById('the_id');
var nextElem = next(elem);
if (nextElem)
nextElem.style.display = 'none';
Ошибка Firebug: elem.nextSibling.style is undefined.
потому что nextSibling может быть текстовым узлом или узлом другого типа
do {
elem = elem.nextSibling;
} while(element && elem.nodeType !== 1); // 1 == Node.ELEMENT_NODE
if(elem) elem.style.display = 'none';
Попробуйте выполнить цикл по дочерним элементам этого элемента, используя что-то вроде:
var i=0;
(foreach child in elem)
{
if (i==0)
{
document.getElementByID(child.id).style.display='none';
}
}
Пожалуйста, внесите соответствующие исправления в синтаксис.