如何使用 jquery 获取下一个/上一个链接,无论它在 DOM 中的位置如何?
如何找到下一个或上一个 无论它位于 DOM 中的哪个位置?
当我按下键时,我想突出显示下一个 ,当我按下键时,我想突出显示前一个,无论它嵌套在 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 = ???
}
});
});
How can I find the next or previous <a>
regardless of where it is placed in DOM?
When I press key down, I want to highlight the next <a>
, when I press up I want to highlight the previous one regardless of where it is nested in 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>
I have tried next()
, nextAll()
, prev()
and prevAll()
with out luck.
This is what I have so far
$(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 = ???
}
});
});
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
这是我在jsfiddle上写的基本代码,你可以开始使用。
http://jsfiddle.net/sabri/skXZT/10/
JavaScript
This is a basic code i write on jsfiddle, you can start with.
http://jsfiddle.net/sabri/skXZT/10/
Javascript
按向下键,执行:
按向上键,执行:
on down key, do:
on up key, do: