如何在ul中获取lis的元素

时间:2018-02-22 16:25:07

标签: javascript jquery laravel loops each

嗨,大家好我试图获取<li>的ids但是我未定义,我正在使用laravel。

这是我认为的

<ul class="nav nav-pills nav-stacked" id="listas">
                        @foreach(Auth::user()->empresas as $empresa)
                            <li>
                                <a href="#" class="seleccion" id="{{$empresa->id}}" data-id="{{$empresa->id}}"
                                   data-nombre="{{$empresa->nombre}}">{{$empresa->nombre}}
                                    <span class="pull-right text-red item{{$empresa->id}}"></span></a>
                            </li>
                        @endforeach

 </ul>

我的js

   $(document).on('click', '.seleccion', function () {
    $('#listas').find('li').each(function () {
      console.log($(this).attr('id'))
    })
  })

4 个答案:

答案 0 :(得分:1)

由于li实际上没有id属性,您应该在a的{​​{1}}子项中查找,如下所示

li

答案 1 :(得分:1)

您尝试从<li>元素中读取不存在的属性。

@foreach(Auth::user()->empresas as $empresa)
  <li id="myId">  <--- HERE
    <a href="#" class="seleccion" id="{{$empresa->id}}" data-id="{{$empresa->id}}"
     data-nombre="{{$empresa->nombre}}">{{$empresa->nombre}}
       <span class="pull-right text-red item{{$empresa->id}}"></span>
    </a>            
  </li>
@endforeach

问候

答案 2 :(得分:-1)

如果li没有id,您必须更改标记或更改js

  $(document).on('click', 'a.seleccion', function () {
      console.log($(this).attr('id'));
  });

答案 3 :(得分:-1)

您可以使用 $(this)

 $( ".seleccion" ).click(function() {
        var id = $(this).attr('data-id'));
        console.log(id);
 });