2011-01-23 6 views
2

に与えられたHTMLからDIVのIDを取得するために、私はHTML形式の下にあります。今がどのようにjQueryの

<ul class="whatlike-list"> 
    <li class="first"> 
     <a href="/SessionHandler.aspx" class="button-flight-search">Search for Flights</a> 
     <div class="open-block-holder"> 
      <div id="slideFlightSearch" class="open-block" style="display: block; left: 650px;"> 

      </div> 
     </div> 
    </li> 
</ul> 

私はリンクのクリック時=「slideFlightSearch」DIV IDを取得するために探しています「を検索フライト "、私は私の$ thisオブジェクトのクラス"ボタンフライト検索 "を持っている。私のJQueryでは以下のようなものがあります。私はクラス「ボタン飛行-検索」を取得しています上記の警告で

$(link).click(function() 
{ 
    alert($(this).attr("class")); 
}) 

、しかし、私はjQueryのを使用することをお勧めしてください内側のDIV ID slideFlightSearch

を必要としています。

答えて

2

あなたはこのように、.next.findを使用することができます。

$(link).click(function() { 
    var id = $(this).next(".open-block-holder") 
        .find("div") // or .find("div.open-block") 
        .attr("id"); 
}); 
+1

IDを知っていない「#slideFlightSearch」に質問することはありませんか? doSomething(); ' –

+0

いいえ私は、私のコードで渡されるdiv IDだけが必要です –

+0

@David Hedlund - 私は私のIDを知っていれば、私はすぐに' $( '#slideFlightSearch'入力いただきありがとうございます。一定。 – karim79

1

をあなたが試みることができる:

$('a').click(
    function(){ 
     var theDivID = $(this).closest('li').find('.open-block').attr('id'); 
     alert('The div's ID is: ' + theDivID); 
     return false; // If you need to prevent the default action of clicking on a link. 
    }); 
0

IDまたはクラス属性を使用せずにHTMLの構造を用いる方法。

$(link).click(function() 
{ 
    alert($(this).next()   //get div with class "open-block-holder". 
       .children()  //get the inner div with class "open-block". 
       .attr("id")) ; //get the ID. 

})