我有一个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的样式是显示块,则答案正在变为。
答案 0 :(得分:3)
这里是 FIDDLE
alert($(".ii").find("div[style='display:block;']").attr('id'));
答案 1 :(得分:2)
由于元素的父元素不可见,因此元素本身也不可见。您必须使用.filter()
方法:
var id = $(".ii .dd").filter(function () {
if ($(this).css('display') == 'block') {
return true;
}
}).attr('id');
alert(id);
参考文献:
.filter()
- jQuery API文档答案 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