如何获得所需的DOM

时间:2016-01-25 12:14:56

标签: javascript dom

在DOM树中,几乎没有具有相同ID的元素。其中一个元素显示在页面中。其他未显示但存在于DOM中。我的问题是如何使用JS捕获活动或显示的元素。

1 个答案:

答案 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;
&#13;
&#13;