Показать сообщение отдельно
  #1 (permalink)  
Старый 18.07.2013, 21:51
Новичок на форуме
Отправить личное сообщение для Чернышков Николай Посмотреть профиль Найти все сообщения от Чернышков Николай
 
Регистрация: 03.04.2013
Сообщений: 9

Почему не робит?
window.onload = function () {
	var tabs = document.getElementById('tabMenu').getElementsByTagName("*");
	for (var i=0;i<=tabs.length-1;i+=2) {
		var tabID = tabs[i+1].id;
		console.log(tabID);
		document.getElementById('tabMenu').childNodes[i+1].childNodes[0].onclick = function() {tabSwitch(tabID);}
	}
}


Хочу навесить на три элемента динамически обработчик onclick события, вешается, но только tabID равен индексу последней третьей табы и переключение любое приводит к переходу на последнюю вкладку. В консоли чисто, tabID последовательно равен 1,2,3...В чем загвоздка? Код самого tabSwitch думаю, приводить не стоит, там все прозрачно и работает правильно, если обработчики повесить напрямую в свойстве onClick элементов. НО хочется же докопаться до истины, потому такой вариант прошу не предлагать. Чтобы не развивать Ваши телепатические способности, верстка:

<ul id="tabMenu">  
    <li><a id="tab-1" class="active">Первая</a></li>  
    <li><a id="tab-2">Вторая</a></li>  
    <li><a id="tab-3">Третья</a></li>
</ul>
<div id="tabContent">
    <div id="content-1">
        11111111111
    </div>
    <div id="content-2">
        22222222222
    </div>
    <div id="content-3">
        33333333333
    </div>
</div>

Последний раз редактировалось Чернышков Николай, 18.07.2013 в 22:07.
Ответить с цитированием