为什么gt()和lt()只是jQuery选择器,而eq()也是一个方法?
在jQuery中,为什么只有为什么gt()和lt()只是jQuery选择器,而eq()也是一个方法?,jquery,Jquery,在jQuery中,为什么只有eq()既是选择器(:)又是方法(),而gt()和lt()只是选择器(“对象不支持该属性或方法”) jQuery语法的这种不一致性/差异是否有我不理解的特殊原因 $(“#eq”)。单击(函数(){ 警报($(“li”).eq(0.text()); $(“li”).eq(1).css(“背景色”、“黄色”); }); $(“#eq2”)。单击(函数(){ 警报($((“li:eq(0)”).text()); $(“li:eq(1)”).css(“背景色”、“黄色”);
eq()
既是选择器(:)又是方法(),而gt()
和lt()
只是选择器(“对象不支持该属性或方法”)
jQuery语法的这种不一致性/差异是否有我不理解的特殊原因
$(“#eq”)。单击(函数(){
警报($(“li”).eq(0.text());
$(“li”).eq(1).css(“背景色”、“黄色”);
});
$(“#eq2”)。单击(函数(){
警报($((“li:eq(0)”).text());
$(“li:eq(1)”).css(“背景色”、“黄色”);
});
$(“#gt”)。单击(函数(){
$(“li”).gt(1).css(“背景色”、“黄色”);
});
$(“#gt2”)。单击(函数(){
$(“li:gt(1)”).css(“背景色”、“黄色”);
});
$(“#lt”)。单击(函数(){
$(“li”).lt(1).css(“背景色”、“黄色”);
});
$(“#lt2”)。单击(函数(){
$(“li:lt(1)”).css(“背景色”、“黄色”);
});代码>
- 首乌
- 第二首都酒店
- 索托卡皮托洛
- 头颅特佐
.eq()
:eq()
.gt()
:gt()
.lt()
:lt()。使用.eq()
而不是:eq
允许jQuery使用querySelectorAll
来大幅提高性能
在任何情况下,您都可以像这样使用.slice
:
$("li").slice(0,4); // :lt(4)
$("li").slice(5); // :gt(4)
或者,自己添加它们:
$.fn.lt = function(n) {return this.slice(0,n);};
$.fn.gt = function(n) {return this.slice(n+1);};
例如:
$.fn.lt=函数(n){返回此.slice(0,n);};
$.fn.gt=函数(n){返回这个.slice(n+1);};
$(“div”).lt(2).css(“颜色”、“蓝色”);
$(“div”).gt(2).css(“边框”,“1px实心红色”);
$(“div”).eq(2).css(“背景色”、“黄色”)代码>
0
1.
2.
3.
4.