的獲得位置我有一個這樣的名單:許多元素和具體DIV
<div class="list"></div>
<div class="list"></div>
<div class="list on"></div>
<div class="list"></div>
... etc
我得到的總這樣的:
var count = $('.list').length; // 4 in this case
但我想編寫一個函數,選擇下一個div向下箭頭,我不知道如何獲得下一個div,選擇它,並取消選擇當前div。這是我現在有,但它不工作:
var visible = $('.list:visible');
var on = $('.list.on:visible');
if (e.keyCode == 40) { // down key
if(on.length == 0) {
visible.first().addClass("on"); // this works
}
else if(// div placement // < count) {
var next = on.next(); // this part doesn't work
on.removeClass("on"); // :(
next.addClass("on"); // :(
}
else { // if its the last div
// do nothing
}
}
這工作,直到你介紹一個隱藏的元素到列表中? http://jsfiddle.net/GL7tA/1/ – user2250471
@ user2250471--使用':visible'選擇器,然後 – tymeJV
我試過:可見選擇器。顯然next()/ prev()忽略選擇器,所以它不起作用。我最終使用不同的類來隱藏列表項(而不是.hide();)和.nextAll('。list:first')。addClass(「on」);讓它充分發揮作用,因爲它仍然是越野車。但是你的回答指向了正確的道路,所以我會給你信用。 :) – user2250471