我需要使用 1.3.2 库,不幸的是它不支持最后一个功能。这导致我的功能失败:
$op.last().next().after($op);
“$op.last 不是函数”
演示:
我在纯js中重写这个功能没有成功,有什么建议吗?请注意,我还需要 .first(),但我假设我将能够从 .last 备用代码中推断出它。非常感谢-
我需要使用 1.3.2 库,不幸的是它不支持最后一个功能。这导致我的功能失败:
$op.last().next().after($op);
“$op.last 不是函数”
演示:
我在纯js中重写这个功能没有成功,有什么建议吗?请注意,我还需要 .first(),但我假设我将能够从 .last 备用代码中推断出它。非常感谢-
您可以使用:last
自 1.0 以来存在的选择器:
$op.filter(':last')
要获取最后一个元素,请执行以下操作:
$op.slice( -1 )
现场演示:http: //jsfiddle.net/uscyH/4/
jQuery
.slice()
方法是在 JavaScript .slice() 数组方法之后设计的。它模仿的功能之一是能够将负数作为start
orend
参数传递。如果提供了负数,则表示从集合末尾开始的位置,而不是开头。
来源:http ://api.jquery.com/slice/
要获取第一个元素,请执行以下操作:
$op.eq( 0 )
现场演示:http: //jsfiddle.net/uscyH/5/
假设$op
是选项的集合,使用以下方法获取集合中的第一个 DOM 元素:
var first = $op[0];
最后一次使用:
var last = $op[$op.length-1];
看起来您可以使用此方法找到最后一项或第一项 http://jsfiddle.net/uscyH/3/
alert("Last is: "+$("option:last").html()+" and first is: "+$("option:first").html());
更新:看起来你现在有很多想法可供选择。随意使用您喜欢的任何方法。这种方法可能不是最快的方法,因为它执行两个 DOM 查询,而不是对您已经存储在数组中的列表进行操作。很高兴看到即使在这些版本中 jQuery 也如此强大。感谢大家的想法!
$($op[$op.length-1]).next().after($op);
您还可以选择扩展 jquery 并创建自己的 last 方法。