12

我需要将焦点设置到当前元素的下一个元素(在其他情况下是直接的 prev )。

例如:

<li>item1</li> <- prev element (get this element)
<li>item1</li><- current element
<li>item1</li> <- next element (get this element)
<li>item1</li>

这是我用的

var curr = (event.target).next();
$(curr).trigger('focus');

当我检查curr萤火虫中的值时,由于某种原因它显示未定义。

4

3 回答 3

23

利用

$(event.target).next() 

得到下一个兄弟姐妹。您还可以将表达式传递给next函数。这将选择下一个兄弟来匹配你的选择器:

$(event.target).next("p")

您也可以使用nextAll,它的工作方式相同,但返回所有以下子林。在这里查看更多。还有prevprevAll,它们是获取前一个元素的类似物。

基本上,你真的很接近,你只需要包装event.targetjQuery 对象,event.target返回实际元素。

于 2009-09-11T13:19:47.037 回答
7

您在 jquery 事件处理程序中吗?如果是这样,为什么不使用$(this).next()和/或$(this).prev()

于 2009-09-11T10:14:38.153 回答
2
var curr = (event.target).nextSibling;
于 2009-09-11T09:24:23.013 回答