在DOM树中,几乎没有具有相同ID的元素。其中一个元素显示在页面中。其他未显示但存在于DOM中。我的问题是如何使用JS捕获活动或显示的元素。
答案 0 :(得分:2)
id
在同一文档中应该是唯一的,尝试用全局class
替换重复的ID,然后您可以使用类选择器和is(":visible")
来检查元素是否可见。
我不知道你想在哪里使用它(你的OP中有上下文),我想你想在点击事件中使用它:
$('.global_class').click(function(){
$(this).is(":visible");
})
如果您无法更改这些ID,请尝试使用属性选择器选择它们,请查看下面的示例。
希望这有帮助。
$('[id="casteListID"]').filter(function(){
return $(this).is(':visible');
}).append('<select><option>1</option><option>2</option></select>');
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div id='casteListID' style='display: none'>div 1</div>
<div id='casteListID'>div 2 </div>
<div id='casteListID' style='display: none'>div 3</div>
<div id='casteListID' style='display: none'>div 4</div>
<div id='casteListID' style='display: none'>div 5</div>
&#13;