Javascript 在JQuery数组中查找上一项
我有jquery: 美元项目 这给了我类项的所有元素 我需要从这个方法得到的数组中选择一个项目,然后在前面找到这个项目 类似于:$.item.select3.prev的内容-但它应该可以工作: 因此,假设我有一个项目清单:Javascript 在JQuery数组中查找上一项,javascript,jquery,html,selector,Javascript,Jquery,Html,Selector,我有jquery: 美元项目 这给了我类项的所有元素 我需要从这个方法得到的数组中选择一个项目,然后在前面找到这个项目 类似于:$.item.select3.prev的内容-但它应该可以工作: 因此,假设我有一个项目清单: <div id=1 class="item"></div> <div id=2 class="item"></div> <div class="somethingElse"></div> <div
<div id=1 class="item"></div>
<div id=2 class="item"></div>
<div class="somethingElse"></div>
<div id=3 class="item"></div>
<div id=4 class="item"></div>
我应该去拿东西
有什么想法吗?你没有写下你得到的只是你想要的。实际上,您应该从代码中获得的是类somethingElse的div。我想你会做的
$(....).prev(".item");
在没有参数的情况下,prev将在DOM、mo-matter样式或类型的前面获取元素
你所做的几乎等于
$("#3").prev()
只是慢一点。除非使用“结束”,否则第一个选择无效,但无论如何,在按id获取对象时不需要第一个选择 你所得到的不是你想要的,而是你想要的。实际上,您应该从代码中获得的是类somethingElse的div。我想你会做的
$(....).prev(".item");
在没有参数的情况下,prev将在DOM、mo-matter样式或类型的前面获取元素
你所做的几乎等于
$("#3").prev()
只是慢一点。除非使用“结束”,否则第一个选择无效,但无论如何,在按id获取对象时不需要第一个选择 prev只查看前一个兄弟姐妹。试试这个:
$('#3').prevAll('div.item').eq(0);
那应该会得到你想要的。正如googletorp提到的,执行$'.item'.find'3';这是多余的,而且速度较慢。ID应该是唯一的,所以您可以直接使用$'3'。但是,请注意,根据规范,ID:
ID和名称标记必须以字母[a-Za-z]开头,后面可以是任意数量的字母、数字[0-9]、连字符、下划线、冒号和句点
prev只查看前一个兄弟姐妹。试试这个:
$('#3').prevAll('div.item').eq(0);
那应该会得到你想要的。正如googletorp提到的,执行$'.item'.find'3';这是多余的,而且速度较慢。ID应该是唯一的,所以您可以直接使用$'3'。但是,请注意,根据规范,ID:
ID和名称标记必须以字母[a-Za-z]开头,后面可以是任意数量的字母、数字[0-9]、连字符、下划线、冒号和句点
当我尝试使用$3.prev.item时,我只是未定义:当我尝试使用$3.prev.item时,我只是未定义: