2015-05-29 58 views
0


我工作的這個Fiddle得到,如果元素是隱藏或藏在裏面的容器

從「開始」輸入,我想專注於模糊的下一個空的輸入。
每個輸入都有一個「下一個」屬性,以便我可以創建一個鏈。然後,我會通過這個鏈,直到我找到一個空的輸入並將其聚焦。

<input id="a" next="b" value="value" /> 
<input id="b" next="c" value="value" /> 
<input id="c" next="d" /> 
<input id="d" next="a" value="value" /> 


while($('#' + _next).val() != ''){ 
    _next = $('#' + _next).attr('next'); 
} 
$('#' + _next).focus(); 

唯一的問題是當父輸入被隱藏(使用ngHide指令)時。這阻止了我將注意力集中在兒童的輸入。

所以我想知道,有沒有一種快速的方法來知道一個元素是隱藏的還是在隱藏的父級內?

回答

1

是,使用is()你可以做

$('element').is(':hidden') 

$('element').parent().is(':hidden') 

,或者如果你有一個目標選擇

$('element').closest('.target').is(':hidden') 
+0

但是,如果我有什麼,我應該測試每一個?沒有更快的選擇器嗎? –

+0

@LucaDeNardi,在我更新的答案中使用最接近的() – AmmarCSE

+0

即使其中一個父項被隱藏,它看起來像element.is(':hidden')被評估爲真!太棒了,謝謝你! –