javascript - 如何获取jquery中特定样式的第一个和最后一个值?

标签 javascript jquery

<ul id="itemContainer">
<li data-number="1" style="display: none;"></li>
<li data-number="2" style="display: none;"></li>
<li data-number="3" style="display: list-item;"></li>
<li data-number="4" style="display: list-item;"></li>
<li data-number="5" style="display: list-item;"></li>
</ul>

我想通过 display: list-item 获取 li 的第一个和最后一个元素的 data-number 值,因此在这个例子中我应该得到 3 和 5

if ($("#itemContainer>li").css('display') == 'list-item'){
    var first = parseInt($("#itemContainer>li").first().data("number"), 10);
    var last = parseInt($("#itemContainer>li").last().data("number"), 10);
    $("#itemContainer>li").hide().slice(first, last).show(); 
}

我总是得到 1 和 5?

最佳答案

使用.filter()获取所有带有display: list-itemli,然后使用.first() .last() 从此子集中选择适当的元素。

var lis = $("#itemContainer>li").filter(function() {
  return $(this).css('display') == 'list-item';
});
var first = lis.first().data("number");
var last = lis.last().data("number");
$("#itemContainer>li").hide().slice(first, last).show();
$("#first").text(first);
$("#last").text(last);
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<ul id="itemContainer">
  <li data-number="1" style="display: none;">1</li>
  <li data-number="2" style="display: none;">2</li>
  <li data-number="3" style="display: list-item;">3</li>
  <li data-number="4" style="display: list-item;">4</li>
  <li data-number="5" style="display: list-item;">5</li>
</ul>
First = <span id="first"></span><br>
Last = <span id="last"></span>

顺便说一句,您不需要使用 parseInt,因为 .data() 将数据值解析为 JSON。

关于javascript - 如何获取jquery中特定样式的第一个和最后一个值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36613071/

相关文章:

jquery - 我无法单击、选择或突出显示元素

javascript - 将一个模块的工厂提供给另一个模块

javascript - 图片src相对路径转绝对路径

javascript - Jquery Draggable - 在浏览器刷新时保持位置

javascript - React 计算器 - 等号逻辑

javascript - Jquery 更改 jquery.js 库中的 $ 和 Jquery

c# - 所需的防伪 cookie "__RequestVerificationToken"不存在

c# - 如何在不使用文件上传的情况下获取文件名并在 asp.net JQuery 中上传文件

javascript - 404 使用 JQuery getJSON 检索 Twitter 关注者

javascript - GitGraph - 缩放图表的大小