2016-08-01 60 views
0

我一直在研究一個項目,並發現我需要把jQuery選擇的東西重新轉換成一個jquery對象幾次,我確信有一個更好的方法要做到這一點,但我不知道它是什麼

$($($($(this).closest('tr')).children()[7]).children()[0]).removeClass("hidden"); 
+3

順便說一句,如果你需要一個像你正在使用一個複雜的選擇,可能是一個好主意,使用了'''class'''屬性 –

回答

3

訣竅是eq

$(this).closest('tr').children().eq(7).children().eq(0).removeClass("hidden"); 

.eq(0)也可以寫成.first()

$(this).closest('tr').children().eq(7).children().first().removeClass("hidden"); 

或者你可以在children使用:eq pseudo-selector(或:first pseudo-selector:eq(0)情況下):

$(this).closest('tr').children(":eq(7)").children(":first").removeClass("hidden"); 

所有這麼說,我很可能會添加一個類,所以你的目標元素可以這樣做:

$(this).closest("tr").find(".the-class").removeClass("hidden"); 
+0

當然有更好的方法來做到這一點。太糟糕OP沒有顯示他的HTML。關閉投票不清楚。 –

+0

@JanDvorak:嘿,剛剛添加上面的附言,因爲你正在評論... –

+0

謝謝你完美的作品 –