2015-02-06 39 views
1

我有以下HTML結構:運行到下一個輸入元素 - JQuery的

<label> 
    <input id="Email"> 
    <p>...</p> 
</label> 
<label> 
    <input id="randomID"> 
</label> 

當某個事情發生了,我想id=Email輸入後的下一個輸入獲得focus()

這裏就是我米嘗試但失敗了,這意味着,焦點沒有給出:

$('#Email').nextAll('input').first().focus(); 

我會永遠也不知道下一個輸入的ID否則我知道這會很容易

+3

'$( '#電子郵件')父( ).next()。find('input')。focus();' – 2015-02-06 14:39:03

+0

你是什麼意思的某件事? – 2015-02-06 14:40:41

+1

並嚴格按照您發佈的代碼,您甚至不需要@ ArunPJohny的評論中的'.first()'。 – j08691 2015-02-06 14:40:55

回答

1

父母label s添加另一個分支,導致nextAll未找到它。 nextAll()僅查看同一父級下的同級元素。

試試這個:

$('#Email').closest('label').next().find('input').first().focus(); 

focus()僅定位在集反正第一個元素時,first()不要求:

$('#Email').closest('label').next().find('input').focus(); 
相關問題