我有以下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
来查找它。
答案 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);