如何使用jQuery选择嵌套在div内部的另一个div?

15
<div id="tab">     
        <div class="" style="margin: 10px;">
            <div id="someVerylongId1" style="height: 400px; position: relative;">

            </div>
        </div>
        <div class="" style="margin: 10px;">
            <div id="someVerylongId2" style="height: 400px; position: relative;">

            </div>
        </div>
        <div class="" style="margin: 10px;">
            <div id="someVerylongId3" style="height: 400px; position: relative;">

            </div>
        </div>
<div>
我想选择所有没有指定id或检查任何其他属性的div,这是否可能做到?
这是我的尝试:
$("#tab div div")

但看起来选择的不是完全正确的。需要帮助。

问题是,我的选择器返回的元素比应该返回的更多。


6
“我们需要深入!” :-P 我猜 $("#tab > div > div") 应该可以解决问题,尽管不是很确定。 - Quasdunk
2
你的选择器是正确的。其他地方出了问题。请检查 $("#tab div div").length == 3 是否正确。 - Tim Rogers
同时也要检查 $("#tab").length==1 - WTK
@WTK - 要做到这一点,您只需执行 if($('#tab').length)。不需要等号。 - daryl
如果返回的元素比预期多,那么可能存在其他问题。我在 jsfiddle 上测试了您的代码,它可以正常工作 - http://jsfiddle.net/9ZqYT/1/ - Richard Dalton
4个回答

15

当我们使用$(this)来获取父元素时,代码是什么? - Salmanul Faris
1
这取决于你的选择器,但它会像是 $("div > div", $(this))。调用的第二部分是父元素,在第一个例子中父元素是“#tab”。 - Henry

12

2
你也可以使用JQuery的find方法。Find会返回所选元素的所有后代元素。 $(选择器).find(筛选条件)
例如:

$("div#tab").find("div")


-3
$("#tab").siblings();

[文档]

JQuery摘录:

获取匹配元素集合中每个元素的兄弟元素,可选择性地筛选出指定选择器的元素。


3
他所要求的不是这个。 - Richard Dalton

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接