问题 如何用jquery在div里面选择div里面的div


<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")

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

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


2364
2017-09-05 07:46


起源

“......我们需要更深入!” :-P我想 $("#tab > div > div") 应该诀窍,但不太确定。 - Quasdunk
你的选择器是正确的。还有别的错。检查一下 $("#tab div div").length == 3。 - Tim Rogers
检查是否 $("#tab").length==1 - WTK
@WTK - 你要这样做 if($('#tab').length)。不需要平等。 - daryl
如果它返回更多的元素然后其他东西是错误的,因为我在jsfiddle中测试你的代码并且它工作正常 - jsfiddle.net/9ZqYT/1 - Richard Dalton


答案:


$("div > div", "#tab");

这将使用#tab的上下文选择div的所有子节点

http://jsfiddle.net/HenryGarle/mHpMM/


9
2017-09-05 08:31



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


尝试这个

$("#tab > div > div")

你可以使用子选择器(>)选择孩子。查看更多信息: http://api.jquery.com/child-selector/


8
2017-09-05 07:51





您也可以使用JQuery的find方法。 Find将返回所选元素的所有后代元素。

$(selector).find(过滤条件)

例如:

$( “#DIV标签”)。找到( “分区”)


0
2018-04-25 13:03





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

[文档]

从jquery引用:

获取匹配元素集中每个元素的兄弟姐妹,   可选地由选择器过滤。


-3
2017-09-05 07:50



这不是他要求的。 - Richard Dalton