2014-10-02 118 views
0

所以我的代碼始終遵循同一種格式:jQuery - 在Div中查找具有特定ID的第一個div?

<div id="container"> 
    <div id="firstDiv"> 
    </div> 
</div> 

有時候是這樣的(這是我想忽略的):

<div id="container"> 
    <div id="banner"> 
    </div> 

    <div id="firstDiv"> 
    </div> 
</div> 

所以我想要做的就是

如果#container中的第一個div等於#firstDiv - 添加橫幅。其他(那裏已經有一個橫幅)什麼都不做。

任何幫助,這將是偉大的!

謝謝!

回答

3

你可以這樣做:

if($('#container > div:first').attr('id') == 'banner') { 
    //banner exists 
} else { 
    //banner not exists 
} 

希望它能幫助。

問候。

+1

+1簡單的jQuery履行 – 2014-10-02 15:58:05

2

使用子選擇:

div#container > div#firstDiv 
+0

它將匹配'firstDiv'不管它是第一個或第二個孩子 – 2014-10-02 15:58:07

1

可以

$('#firstDiv:first-child').before('<div class="banner">banner</div>'); 
 
$('#firstDiv2:first-child').before('<div class="banner">banner</div>');
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script> 
 
<div id="container"> 
 
    <div id="firstDiv">Div</div> 
 
</div> 
 

 
<div id="container2"> 
 
    <div id="banner">Banner</div> 
 
    <div id="firstDiv2">Div</div> 
 
</div>

1

試試這個:

if($("#container").find("#banner").lenght == 0){ 
    // You have the banner 
}else{ 
    // you dont`n have the banner 
} 
1

試試這個:

(function(){ 

     if(!$('#firstDiv','#container').length){ 
      $('#container').prepend(jQuery('<div id="firstDiv">')); 
    } 

})(jQuery); 
1

隨着children()選擇你得到了#container的所有子元素。 隨着first()你得到第一個,並與attr('id')你得到的ID名。

然後你只需要檢查什麼ID名稱必須

例子:

if($("#container").children().first().attr('id') != "banner"){ 
    addBanner(); 
} 
相關問題