Помогите с нумерацией <li>
Нужно чтобы по нажатию выводило номер li, какой он по счету.
Произвожу нумерацию следующим образом: <ul class="list"> <li class="dd-item" onclick="bui()"> <div class="dd-handle">кат 1</div> <ul class="list"> <li class="dd-item" onclick="bui()"> <div class="dd-handle">кат 1.3</div> <ul class="list"> </ul> </li> <li class="dd-item" onclick="bui()"> <div class="dd-handle">кат 1.2</div> <ul class="list"> </ul> </li> <li class="dd-item" onclick="bui()"> <div class="dd-handle">кат 1.1</div> <ul class="list"> </ul> </li> </ul> </li> </ul> function bui() { $('li.dd-item').each(function(i){ $(this).click(function(){ $('.adsadd').html(++i); }); }); } Когда li в столбец без родителей, все правильно выводит. А когда наследую: <ul> <li> <div>кат 1</div> <ul> <li> <div>кат 2</div> </li> </ul> </li> </ul> Нумерация дочерних элементов останавливается на родителе :( |
Такими темпами ты вечность пилить будешь.
Скажи какая именно задача у тебя стоит. |
У меня есть дерево категорий, осталось определить их позицию и записать в бд
|
Цитата:
|
Antonqq,
function bui бесполезная и вредная , замените её на ready если ul.list неизменно или на on если нужно актуально |
Antonqq,
<!DOCTYPE html> <html> <head> <title>Untitled</title> <meta charset="utf-8"> <style type="text/css"> </style> <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.12.4/jquery.min.js"></script> <script> $(function() { $('.list').on('click', 'li.dd-item', function(event){ event.stopPropagation(); var i = $('li.dd-item').index(this); $('.adsadd').html(++i); }); }); </script> </head> <body> <ul class="list"> <li class="dd-item" > <div class="dd-handle">кат 1</div> <ul class="list"> <li class="dd-item" > <div class="dd-handle">кат 1.3</div> <ul class="list"> </ul> </li> <li class="dd-item" > <div class="dd-handle">кат 1.2</div> <ul class="list"> </ul> </li> <li class="dd-item" > <div class="dd-handle">кат 1.1</div> <ul class="list"> </ul> </li> </ul> </li> </ul> <div class="adsadd"></div> </body> </html> |
Все замечательно работает, спасибо большое)
Не подскажете как как реализовать следующею вещь: При нажатии на <li> , нужно вытащить из <li>-родителя атрибута data-id (число), и записать в его атрибут data-parent, по которому произведен клик. Целый день над этим голову ломаю, не знаю как вытащить из родительского (( |
$('li').click(function(){ var $this = $(this); $this.data( 'parent', $this.parents('li[data-id]').data('id') ) }) |
Antonqq,
может почитать чего ... var id = $(this).parents('li:first').data('id') |
Это работает
var id = $(this).parents('li:first').data('id'); Но оно получает id у самого первого родителя, а у меня дерево. Нужно id того родителя, что на один выше |
Часовой пояс GMT +3, время: 01:55. |