2014-11-02 49 views
1

我有這個html。Jquery - 通過父級輸入焦點()並查找嵌套元素級別

$('.mm-subopen').click(function() { 
    //find this.class parent, parent (witch would be: <li class="img no-arrow join">) 
    //and then trough: <li class="img no-arrow join"> find the input in same scope and get it focused 
}); 

任何幫助,將不勝感激:可我怎麼用jQuery與id="studio123"獲得輸入場當上了<a class="mm-subopen" href="#clickMe"></a>

<li class="img no-arrow join"> 
     <span class="user-wrapper"> 
      <a class="mm-subopen" href="#clickMe"></a> 
     </span> 
     <ul class="chat-messages" id="studio"> 
      <div class="chat-input"> 
       <input type="text" class="form-control" id="studio123" placeholder="Type your message" /> 
      </div> 
     </ul> 
    </li> 

我喜歡思考的東西點擊集中!

回答

2

您可以用標籤代替鏈接

<a class="mm-subopen" href="#clickMe"></a> 

<label class="mm-subopen" for="studio123"></label> 

,不需要的JavaScript。或者,如果你確實需要的JavaScript試試這個:

$('.mm-subopen').click(function() { 
    $(this).closest('li').find('input').focus(); 
}); 
+0

我需要做的是在JS,因爲'HREF =」 #clickMe「'用於我的代碼的許多其他部分。 Iv'e嘗試了你的js解決方案,但它不起作用。我的''標籤是在文檔加載時動態構建的。這可能是問題嗎? – user3228992 2014-11-02 16:05:55

+1

是的,這可能是一個問題。試試這個'$(document).on('click','.mm-subopen',function(){$(this).closest('li')。find('input')。focus();}) ;'。 – dfsq 2014-11-02 16:09:18

+0

奇怪,仍然不起作用。我認爲你發送的最後一個會修復它。你知道這裏還有什麼問題嗎?有什麼建議麼? – user3228992 2014-11-02 16:15:40

1

這是你後,我覺得

$('.mm-subopen').click(function() { 
    $(this).parents("li").find(":input").focus(); 
}); 

這裏是一個JSFIDDLE