我有一些嚮導選項卡,每個選項卡都包含表單元素。我想關注每個選項卡的第一個表單元素。我如何只保留可見元素的焦點。 EG:當我導航到下一個選項卡表單時,我不想讓我的第一個隱藏選項卡集中。將注意力集中在每個選項卡的第一個輸入
http://jsfiddle.net/infatti/kdWT8/
這似乎並沒有工作?
$('.focus:first:not(:hidden)').focus();
我有一些嚮導選項卡,每個選項卡都包含表單元素。我想關注每個選項卡的第一個表單元素。我如何只保留可見元素的焦點。 EG:當我導航到下一個選項卡表單時,我不想讓我的第一個隱藏選項卡集中。將注意力集中在每個選項卡的第一個輸入
http://jsfiddle.net/infatti/kdWT8/
這似乎並沒有工作?
$('.focus:first:not(:hidden)').focus();
你做的其他方式:
$('.focus:not(:hidden):first').focus();
現在你得到的第一個元素與類.focus
,這當然是隱藏的,那麼你只可見元素過濾,並沒有給你留下任何東西?
您需要獲取可見元素,然後獲取第一個元素。
這裏做的另一種方式:
$(document).find('.focus').filter(':visible').eq(0).focus();
隨着Fiddle
我覺得鏈比嘶嘶選擇更具可讀性;在這裏它讀取「找到所有具有班級焦點的元素,只篩選那些可見的元素,拿第一個元素並給予焦點」