2013-07-31 64 views
0
<div id="demo"> 
    <div class="moduletable"> 
     <div class="demo"> 
      <div class="demo-wrap"> 
       <div class="container" id="button-1">Button-1 contents</div> 
       <div class="ctrl"> 
        <div><a href="#buttton-1">Button-1</a> 
        </div> 
       </div> 
      </div> 
     </div> 
    </div> 
</div> 

jQuery的如何選擇最接近類和它的id最接近方法

$('ctrl').click(function(){ 

$(本).closest(」容器#按鈕-1' )的寬度();

//如何選擇類容器第一,那麼它的ID 按鈕-1

}

編輯

<div class="container" id="button-1">Button-1 contents</div> 
<div class="container" id="button-2">Button-2 contents</div> 
<div class="ctrl"> 
<div><a href="#buttton-1">Button-1</a> 
</div> 
</div> 

我怎樣才能得到容器寬度作爲它的ID如果一個按鈕被按下,它應該提醒按鈕1的寬度,如果另一個它應該提醒屁股對2。

+0

在我的嘗試var mywidth = $(this).closest('。container#button-1')。width =>然後alert(mywidth)不顯示寬度。它顯示爲空。 –

+0

var btn_width = $($(this).find('a [href]')。attr('href'))width() – s4ty

+1

如果你想選擇按鈕,你不需要該類作爲id在您的網頁上必須是唯一的。所以簡單地做'$('#button-1')。width();' – Raidri

回答

0

你可以找到它作爲previous sibling

$(this).prev(".container") 

然後抓住它的ID:

$(this).prev(".container").prop("id"); 

編輯:要得到它的寬度:

$(this).prev(".container").width(); 
+0

prev()和最接近的)函數 –

+1

'prev'選擇前一個*兄弟*。 「最接近的」搜索*父母*。在你的情況下,'container'是'ctrl'的兄弟,而不是父母 – CodingIntrigue

+0

,如果$(this).closest('。demo').sibling('。container')是這樣的話,該怎麼辦? –

1

請試試這個

$('.ctrl').click(function(){ 
    alert($(this).prev(".container").attr('id')); 
}); 

Jsfiddle link

要找到寬度:

$('.ctrl').click(function(){ 
    alert($(this).prev(".container").width()); 
}); 
+0

感謝您的回答。但我想獲得它的寬度我試過$(this).prev(「。container」)。attr('id')。width();但沒有工作。 –

+0

@NavinRauniyar請找到更新的答案 – Afsal

0

嘗試

$(".ctrl").on("click",function(){ 
     alert($(this).parent().parent().find('.container').attr("id")); 

Fiddle Demo

希望它可以幫助你