使用jquery获取隐藏元素可见div的id

时间:2013-05-27 09:50:30

标签: jquery html

我有一个html内容,如下所示,

<div class="ii" style="display:none">
    <div id ="dd1" class ="dd" style="display:block;">sss</div>
    <div id ="dd2" class ="dd" style="display:none;">www</div>
    <div id ="dd3" class ="dd" style="display:none;">222</div>
</div>

我需要使用jquery获取元素的id,

$(".ii").find(".dd:visible").attr('id');

如果第一个div的样式是显示块,则答案正在变为。

请在此处查看http://jsfiddle.net/jNLqA/41/

4 个答案:

答案 0 :(得分:3)

这里是 FIDDLE

alert($(".ii").find("div[style='display:block;']").attr('id'));

答案 1 :(得分:2)

Working jsFiddle Demo

由于元素的父元素不可见,因此元素本身也不可见。您必须使用.filter()方法:

var id = $(".ii .dd").filter(function () {
    if ($(this).css('display') == 'block') {
        return true;
    }
}).attr('id');

alert(id);

参考文献:

答案 2 :(得分:0)

您找不到隐藏元素的ID

<div class="ii" style="display:none"> is not visible

但仍然

如果你让它可见那么你肯定会得到一个id,看到我在这里显示来操纵那些裂缝。 fiddle example

答案 3 :(得分:0)

尝试使用visibility css:http://jsfiddle.net/jNLqA/44/

visibility: hidden instead of display:none