Как выбрать первый впереди стояший элемент с определеным атрибутом?

html

<ul >
        <li data-depth="0" >1</li>
        <li data-depth="0" >2</li>
        <li data-depth="1" >3</li>
        <li data-depth="1" >4</li>
        <li data-depth="0" >5</li>
    </ul>


javascript

var item //в этой переменной находится <code lang="html"><li data-depth="1" >4</li></code>


мне из него надо получить <li data-depth="0" >2</li> пытаюсь сделать так

var classDeptch = item.attr('data-depth');
        if(classDeptch>0){
           var siblingItemDepht = Number(classDeptch)-Number(1);
           var parent=item.siblings('[data-depth='+siblingItemDepht+']');
          console.log(parent);
        }

но получаю три li мне же надо получить первый впереди li то есть вот этот <li data-depth="0" >2</li>
  • Вопрос задан
  • 107 просмотров
Пригласить эксперта
Ответы на вопрос 1
Fzero0
@Fzero0
Вечный студент
Раз 10 читал твой вопрос так и не ... понял что ты хочешь вот -> c ответом сходится :)
var classDeptch = 1; // так как var item в этой переменной находится <li data-depth="1" >4</li> оно равно одному
 $( "li" ).each(function() {
  var item = $( this );	
  if(classDeptch >0){
         var siblingItemDepht = classDeptch--;
         var parent=item.siblings().data( "data-depth", siblingItemDepht )[0];
         console.log(parent);
  }	
});

¯\_(ツ)_/¯
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы