| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > JavaScript: для новичков > номер элемента в списке |
| Автор: Evghenusi 6.8.2012, 13:31 | ||||
| Добрый день. Подскажите пожалуйста как в таком случает получить номер дочернего элемента?
|
| Автор: нуп 6.8.2012, 13:44 |
| Создать массив из всех li, по клику пройтись по массиву и сравнить с текущим li. |
| Автор: mullih 6.8.2012, 13:57 | ||
http://smarly.net/pro-jquery-osnovi-java-script?hash=3025 |
| Автор: Evghenusi 6.8.2012, 14:22 | ||
| Спасибо нуп и mullih. Видимо ничего хитрее нет, что бы без прохода по всем тегам. У меня есть ещё замысел попробовать от this одним циклом искать в обе стороны (previousSibling/nextSibling). кое что полезное в коде mullih для себя нашёл)))
|
| Автор: mullih 6.8.2012, 14:31 |
| без прогона цикла вижу только вариант парсить t.innerHTML либо на каждый li повесить атрибут и его читать |
| Автор: Amphiluke 6.8.2012, 16:37 | ||
Для современных браузеров есть.
|
| Автор: Evghenusi 6.8.2012, 16:44 | ||
реализовал свой замысел:
но результат работы в IE<9 отличается от других браузеров, номер элементов меньше на единицу, а у первого номер - 2 http://jsfiddle.net/bHkWU/1/ Подскажите пожалуйста как поправить. |
| Автор: нуп 6.8.2012, 17:10 |
| Что делает эта строчка n.nodeType^3? Легче написать метод Array.indexOf для старых браузеров и вызвать его. У вас в коде 3 глобальные переменные, зачем они нужны то? |
| Автор: нуп 6.8.2012, 18:02 | ||
Хотя вариант не очень |
| Автор: Evghenusi 6.8.2012, 21:07 | ||||
"t" и "e" разглядел, а третья? и чему они мешают в данном коде? за код спасибо, посмотрю. |
| Автор: нуп 6.8.2012, 21:16 |
| Потом наберетесь проблем с глобальными переменными. Я насчитал 4 (t, i, j, n) |
| Автор: Evghenusi 6.8.2012, 21:26 |
| function next(n) , а по поводу остальных переменных - справедливо |
| Автор: нуп 6.8.2012, 21:30 |
| Не, вот тут глобальная. var p = n = el |
| Автор: Evghenusi 6.8.2012, 21:36 |
всё! мир для меня рухнул спасибо |
| Автор: Evghenusi 6.8.2012, 21:57 | ||
понял в чём была моя ошибка, в присваиваемом значении переменным
|