это потому, что 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';