0

我有一个 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

4 回答 4

3

这是小提琴

alert($(".ii").find("div[style='display:block;']").attr('id'));
于 2013-05-27T09:57:27.500 回答
2

工作 jsFiddle 演示

因为你的元素的父元素是不可见的,所以元素本身也是不可见的。您必须使用.filter()方法:

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

alert(id);

参考:

于 2013-05-27T09:53:35.897 回答
0

您找不到隐藏元素的 id

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

但仍然

如果你让它可见,那么你肯定会得到一个id,看我在这里展示了操纵那些裂缝。小提琴示例

于 2013-05-27T09:53:31.657 回答
0

试试可见性 css:http: //jsfiddle.net/jNLqA/44/

visibility: hidden instead of display:none
于 2013-05-27T09:53:46.710 回答