2011-03-29 86 views
1

我嘗試在捕獲「Enter」-keypress的jQuery腳本中編寫代碼,並找到與class「findMva」位於同一個div並且不在其他子div上的第一個A-tag類「findMva」。jQueryscript選擇器的問題

例1:

  • 我必須注重與ID = 「輸入2」
  • 我按Enter鍵
  • 我想與文字「更多信息9的A-代碼的腳本點擊輸入。 ..」

實施例2

  • 我具有焦點上輸入無線個ID =「輸入4」
  • 我按Enter鍵
  • 我想與文字的A-代碼的腳本點擊「更多信息5 ...」

jQuery的腳本(誰不正在例1中,但不能在例如2 ...):

$("input").keydown(function (e) { 
    if (e.which == 13) { 
     $(this).closest(".findMva").find(".mva").not(".findMva > .mva").first().click(); 
    } 
} 

HTML的標記:

<div class="findMva"> 
    <div class="findMva"> 
     <input type="text" id="input1" /> 
     <a class="mva" id="a1" href="#">More info 1...</a> 
     <a class="mva" id="a2" href="#">More info 2...</a> 
    </div> 
    <input type="text" id="input2" /> 
    <div> 
     <div> 
      <div class="findMva"> 
       <input type="text" id="input3" /> 
       <a class="mva" id="a3" href="#">More info 3...</a> 
       <a class="mva" id="a4" href="#">More info 4...</a> 
       <div class="findMva"> 
        <input type="text" id="input4" /> 
        <a class="mva" id="a5" href="#">More info 5...</a> 
        <a class="mva" id="a6" href="#">More info 6...</a> 
        <div class="findMva"> 
         <input type="text" id="input5" /> 
         <a class="mva" id="a7" href="#">More info 7...</a> 
         <a class="mva" id="a8" href="#">More info 8...</a> 
        </div> 
       </div> 
      </div> 
      <a class="mva" id="a9" href="#">More info 9...</a> 
      <a class="mva" id="a10" href="#">More info 10...</a> 
     </div> 
    </div> 
</div> 

任何建議如何寫jQuery選擇?

回答

2

我找到了解決方案:

$(document).ready(function() { 
    $("input").keydown(function (e) { 
     if (e.which == 13) { 
      var o = $(this).closest(".findMva").clone(); 
      o.find(".findMva").remove(); 
      var myid = o.find(".mva").first().attr("id"); 
      $("#" + myid).focus(); 
     } 
    }); 
}); 

在這種情況下,我依賴於A-標記的ID屬性的。