Методы Object Elements:
IE и DOM -совместимые браузеры по разному трактуют пробелы между элементами. Если между двумя элементами есть пробелы, то Firefox например вернет указатель на текстовый элемент, в то время как IE пропустит пробел и вернет указатель на следующий за ним элемент. Поэтому лучше использовать следующие функции для получения смежных, дочерних и родительских элементов:
function prev(elem) { do { elem = elem.previousSibling; } while (elem && elem.nodeType != 3); return elem; } // Получение следующего смежного элемента в DOM function next(elem) { do { elem = elem.nextSibling; } while (elem && elem.nodeType != 3); return elem; }
nodeType – тип узла. nodeType = 1 – текстовый узел.
То же самое для получения родительских и дочерних узлов.
<span>Some text</span> <input type="button" value="Show Info" onclick="ShowHideInfo(this)"/> <pre id="codeExample"> Come code example: function() { } </pre> #codeExample { background-color:#00FFFF; font-style: italic; display: none; } function ShowHideInfo(button) { var codeExample = next(button); if (codeVisible) { button.value = "Hide Example"; codeExample.style.display = "none"; } else { button.value = "Show Example"; codeExample.style.display = "block"; } codeVisible = !codeVisible; }