Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 03.12.2008, 15:17
jjvod
 
Сообщений: n/a

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"/>'

		}

	}

}

Последний раз редактировалось Андрей Параничев, 03.12.2008 в 17:09. Причина: Пользуйтесь bb-тегами [js] и [html] для оформления листингов кода в теле сообщения.
Ответить с цитированием
  #2 (permalink)  
Старый 03.12.2008, 15:23
Флудер
Отправить личное сообщение для ZoNT Посмотреть профиль Найти все сообщения от ZoNT
 
Регистрация: 25.07.2008
Сообщений: 1,271

посмотрел... Нигле не нашёл проверки наличия nextSibling, а ведь потом к его свойствам обращаются... С previousSibling то же самое.
Ответить с цитированием
  #3 (permalink)  
Старый 03.12.2008, 15:34
jjvod
 
Сообщений: n/a

nextSibling есть previousSibling то же
Сообщение от ZoNT Посмотреть сообщение
посмотрел... Нигле не нашёл проверки наличия nextSibling, а ведь потом к его свойствам обращаются... С previousSibling то же самое.
Проблема в том FF их не находит
Ответить с цитированием
  #4 (permalink)  
Старый 03.12.2008, 15:53
Отправить личное сообщение для Octane Посмотреть профиль Найти все сообщения от Octane  
Регистрация: 10.07.2008
Сообщений: 3,873

th - это заголовок в таблице? Для работы с таблицами в DOM предусмотрены специальные методы. А еще nextSibling и previonsSibling выдают не только элементы, но и текстовые узлы, поэтому помимо существования узла, нужно проверять его nodeType.

Последний раз редактировалось Octane, 03.12.2008 в 15:56.
Ответить с цитированием
  #5 (permalink)  
Старый 03.12.2008, 15:56
Флудер
Отправить личное сообщение для ZoNT Посмотреть профиль Найти все сообщения от ZoNT
 
Регистрация: 25.07.2008
Сообщений: 1,271

надо просто дом генерить скриптом, тогда точно будешь знать, что там за сосед...
Ответить с цитированием
  #6 (permalink)  
Старый 03.12.2008, 16:00
jjvod
 
Сообщений: n/a

Сообщение от ZoNT Посмотреть сообщение
надо просто дом генерить скриптом, тогда точно будешь знать, что там за сосед...
это как
Ответить с цитированием
  #7 (permalink)  
Старый 03.12.2008, 16:02
jjvod
 
Сообщений: n/a

Сообщение от Octane Посмотреть сообщение
th - это заголовок в таблице? Для работы с таблицами в DOM предусмотрены специальные методы. А еще nextSibling и previonsSibling выдают не только элементы, но и текстовые узлы, поэтому помимо существования узла, нужно проверять его nodeType.
th - это переменная в скрипте если не заметил
Ответить с цитированием
  #8 (permalink)  
Старый 03.12.2008, 16:13
Флудер
Отправить личное сообщение для ZoNT Посмотреть профиль Найти все сообщения от ZoNT
 
Регистрация: 25.07.2008
Сообщений: 1,271

Сообщение от jjvod
это как
Ну например:
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 - соседи и между ними ничего больше нет.
Ответить с цитированием
  #9 (permalink)  
Старый 03.12.2008, 16:15
jjvod
 
Сообщений: n/a

Сообщение от ZoNT Посмотреть сообщение
Ну например:
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 - соседи и между ними ничего больше нет.
не этот вариант не подходит я работаю с xsl шаблоном и врядли смогу это сделать
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск