firefox не умеет работать с соседями смотрите функцию
function on(th){
th.style.background='url(/images/site/a.gif)';
if (th.nextSibling == th.parentNode.lastChild){
th.nextSibling.innerHTML='<img src="/images/site/67.gif"/>'
}
else{
if (th.nextSibling.nextSibling.className == 'blsdio'){
th.nextSibling.innerHTML='<img src="/images/site/23.gif"/>'
}
else{
th.nextSibling.innerHTML='<img src="/images/site/33.gif"/>'
}
}
if (th.previousSibling == th.parentNode.innerHTML){
th.previousSibling.innerHTML='<img src="/images/site/12.gif"/>'
}
else{
if (th.previousSibling.previousSibling.className == 'blsdio'){
th.previousSibling.innerHTML='<img src="/images/site/23.gif"/>'
}
else{
th.previousSibling.innerHTML='<img src="/images/site/22.gif"/>'
}
}
}
|
посмотрел... Нигле не нашёл проверки наличия nextSibling, а ведь потом к его свойствам обращаются... С previousSibling то же самое.
|
nextSibling есть previousSibling то же
Цитата:
|
th - это заголовок в таблице? Для работы с таблицами в DOM предусмотрены специальные методы. А еще nextSibling и previonsSibling выдают не только элементы, но и текстовые узлы, поэтому помимо существования узла, нужно проверять его nodeType.
|
надо просто дом генерить скриптом, тогда точно будешь знать, что там за сосед... :)
|
Цитата:
|
Цитата:
|
Цитата:
var div=document.createElement('div');
div.id='bla-bla-bla';
div.innerHTML='123';
var div2=document.createElement('div');
div2.id='bla-bla-bla2';
div2.innerHTML='1234';
document.body.appendChild(div);
document.body.appendChild(div2);
Тут точно известно что div и div2 - соседи и между ними ничего больше нет. |
Цитата:
|
| Часовой пояс GMT +3, время: 03:36. |