我有以下HTML代码:
<div id="skills">
<div class="items" id="items1" style="display:none">1</div>
<div class="items" id="items2" >2</div>
<div class="items" id="items3" style="display:none">3</div>
<div class="items" id="items4" style="display:none">4</div>
<div class="items" id="items5" style="display:none">5</div>
</div>
我需要访问正在显示的div
并获取id
。
请让我知道我该怎么做?
答案 0 :(得分:4)
您可以使用:visible
选择器:
var visibleId = $('.items:visible').prop('id'); // = 'items2'
答案 1 :(得分:2)
jQuery有一个专用的:visible
选择器。您可以使用它来匹配正在显示的任何元素。
https://api.jquery.com/visible-selector/
如果元素占用文档中的空间,则认为元素是可见的。可见元素的宽度或高度大于零。
visibility: hidden
或opacity: 0
的元素被认为是可见的,因为它们仍占用了布局中的空间。
所以要在你的场景中使用它,你会有这样的东西:
var desired_id = $('.items:visible').prop('id');
请注意如果使用.items:visible
匹配多个元素,则只会获得第一个匹配的元素id
而不是所有元素
答案 2 :(得分:1)