如何找到具有特定类

时间:2017-01-02 15:05:13

标签: javascript jquery

我有以下HTML

<ul id="productCategory-ul" class="productCategory__ul">
<li><figure class="productCategory__ul__li" data-id="1"></figure></li>
<li><figure class="productCategory__ul__li" data-id="2"></figure></li>
<li><figure class="productCategory__ul__li" data-id="3"></figure></li>
<li><figure class="productCategory__ul__li" data-id="4"></figure></li>
</ul><!-- end of brandContent__ul -->

我的目的是获得最后<li>的数字data-id

<li><figure class="productCategory__ul__li" data-id="4"></figure></li>

如何获得productCategory__ul__li上次data-id

我不想使用productCategory-ul查找我的上一个li,我想使用$each或使用productCategory__ul__li来查找它。

5 个答案:

答案 0 :(得分:3)

您可以使用:last选择器(或last()方法)检索匹配集中的最后一个元素:

var id = $('.productCategory__ul__li:last').data('id');
   // or $('.productCategory__ul__li').last().data('id');

var id = $('.productCategory__ul__li:last').data('id');
console.log(id);
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<ul id="productCategory-ul" class="productCategory__ul">
  <li>
    <figure class="productCategory__ul__li" data-id="1">id = 1</figure>
  </li>
  <li>
    <figure class="productCategory__ul__li" data-id="2">id = 2</figure>
  </li>
  <li>
    <figure class="productCategory__ul__li" data-id="3">id = 3</figure>
  </li>
  <li>
    <figure class="productCategory__ul__li" data-id="4">id = 4</figure>
  </li>
</ul>

答案 1 :(得分:0)

你可以得到李的最后一个孩子。

$('.productCategory__ul__li:last-child')

答案 2 :(得分:0)

您可以这样做:

jQuery(".productCategory__ul__li").last().data("id");

无需使用each或使用ul。此代码jQuery(".productCategory__ul__li")选择具有给定类的所有元素。

last()将从元素的数组中选择最后一个元素。

数据会选择数据属性(此处为id)。

答案 3 :(得分:0)

你走了:

  $(document).ready(function(){

            $( ".productCategory__ul__li" ).last().addClass( "lastButNotTheLeast" );

     });

希望它有所帮助!

答案 4 :(得分:0)

请记住,jQuery只是一个javascript库。

jQuery库的重点是“少写,多做” - 它旨在通过只编写简短的代码片段来帮助你实现很多目标。

对于类似的东西,你可以在jQuery中写这个:

g = f;
f = g;

虽然,可以说,用简单的javascript写这个只需要更长的时间:

$(document).ready(function(){
    var jQueryLastDataID = $('.productCategory__ul__li:last').attr('data-id');
});

工作示例:

var dataIds = document.querySelectorAll('.productCategory__ul__li');
var javascriptLastDataID = dataIds[(dataIds.length - 1)].dataset.id;
$(document).ready(function(){
    var jQueryLastDataID = $('.productCategory__ul__li:last').attr('data-id');
    console.log('jQueryLastDataID is ' + jQueryLastDataID);
});

var dataIds = document.querySelectorAll('.productCategory__ul__li');
var javascriptLastDataID = dataIds[(dataIds.length - 1)].dataset.id;
console.log('javascriptLastDataID is ' + javascriptLastDataID);