Как найти следующий или предыдущий <a>
независимо от того, где он находится в DOM?
Когда я нажимаю клавишу вниз, я хочу выделить следующий <a>
, когда я нажимаю вверх, я хочу выделить предыдущий независимо от того, где он вложен в DOM.
<div id="info">
<span><a href="#info">How can I get this when pressing up?</a></span>
<a class="focus" href="#home">I'm here - and will either press up or down</a>
<div>
<ul>
<li><a href="#foo">How can I get this when pressing down?</a></li>
<li><a href="#bar">Another link</a></li>
</ul>
</div>
</div>
Я пытался next()
, nextAll()
, prev()
и prevAll()
без удачи.
Это то, что я имею до сих пор
$(document).keypress(e){
var keyCode = e.keyCode;
switch (keyCode) {
case 38:
e.preventDefault();
$("body").trigger('nav', 'up');
break;
case 40:
e.preventDefault();
$("body").trigger('nav', 'down');
break;
}
$("body").bind('nav', function(direction){
var currentLink = $(".focus").first();
if(direction === 'up'){
var prevLink = ???
} else if (direction === 'down'){
var nextLink = ???
}
});
});