如何解决如何检测元素是否是给定类的第一个子元素?
使用 jquery 的.index()
重载,您可以将其应用于预定义的集合(jquery 对象):
var isFirst = $(".list .item").index($('.list .item.selected')) == 0;
更新片段:
var items = $(".list .item");
var selectedItem = $('.list .item.selected');
var isFirst = items.index(selectedItem) == 0;
console.log(isFirst)
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<div class="list">
<div class="search"></div>
<div class="item selected">Item 1</div>
<div class="item">Item 2</div>
<div class="item">Item 3</div>
</div>
解决方法
我正在尝试使用 jQuery 检测所选元素是否是给定类的第一个子元素。在示例中,您可以看到它是类 .item 的第一个子元素,但选择器 :first-of-type 不适用于该子元素,因为它不是第一个 div。
如何解决?
var selectedItem = $('.list').find('.item.selected');
var isFirst = selectedItem.is(':first-of-type');
console.log('Is item first? ' + isFirst);
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<div class="list">
<div class="search"></div>
<div class="item selected">Item 1</div>
<div class="item">Item 2</div>
<div class="item">Item 3</div>
</div>
声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。