如何使用jQuery查找特定的Div

时间:2011-11-09 16:11:51

标签: jquery

请指导我如何使用jQuery找到特定的div来跟随html -

       <div class="tab_container">
            <div id="tabs-1111" class="tab_content" style="display: block;">
                <p>26 High Street, Slough, SL1 1EP</p>
                <p></p>
            </div>
            <div id="tabs-1110" class="tab_content" style="display: none;">
                <p></p>
                <p></p>
                <div id="GoogleMap_Canvas" 
                    style="width: 410px; height: 450px; position: relative; overflow: hidden;">
                    <p></p>
                </div>
            </div>    
        </div>

我想检查带有'tab_content'类的第一个div是否包含id ='GoogleMap_Canvas'的div - 对于上面的html,它应该是假的,因为它在第二个div中。

我尝试使用 -

if ($(".tab_content:first").children('#GoogleMap_Canvas').length > 0)
or
if ($(".tab_content:nth-child(1)").children('#GoogleMap_Canvas').length> 0)

这似乎对我很好。

但是,我很困惑为什么跟随jQuery返回null?

($(".tab_content")[1]).children('#GoogleMap_Canvas') //returns null

谢谢!

6 个答案:

答案 0 :(得分:1)

您可以尝试使用jQuery的has selector来获取包含“GoogleMap_Canvas”div的'tab_content'div:

var googleDivContainer = $(".tab_content").has('#GoogleMap_Canvas');

答案 1 :(得分:1)

由于您正在检查唯一ID,因此不需要那么复杂。

if ($('#GoogleMap_Canvas').length > 0)
  //map div exists

我相信你得到的是因为你在非jquery对象上调用.children。试试这个:

$($(".tab_content")[1]).children('#GoogleMap_Canvas')

或更好:

$(".tab_content:eq(1)").children('#GoogleMap_Canvas')

答案 2 :(得分:1)

返回NULL

($(".tab_content")[1]).children('#GoogleMap_Canvas')

因为$(“。tab_content”)[1]返回一个没有子方法的DOM元素。

添加额外的“$”以将结果转换为jQuery对象

$($(".tab_content")[1]).children('#GoogleMap_Canvas')

答案 3 :(得分:1)

“我想检查带有'tab_content'类的第一个div是否包含id为'= GoogleMap_Canvas'的div”

使用它:

if ($(".tab_container").children('.tab_content:first').children('#GoogleMap_Canvas').length > 0){
// do something
}

答案 4 :(得分:0)

你的最后一行返回null,因为$(".tab_content")[1]返回一个DOM元素,而不是jQuery对象,而DOM元素不会公开children()方法。

请注意eq()返回一个jQuery对象,因此以下代码可以工作:

var children = $(".tab_content").eq(1).children('#GoogleMap_Canvas');

答案 5 :(得分:0)

试试这个:

var length = $(".tab_content[id*='GoogleMap_Canvas']").length;