jQuery中eq方法的用法详解

哎呀,当时我用 jQuery 就很好了。
你提到的eq()方法当时在电商网站项目中被广泛使用。

当时,我们的页面有一堆产品列表,包裹在一个 div 中,并一一显示。
当请求到来时,我们需要为第二个和第五个产品添加一个特殊的标志,将颜色变深并添加一个小红点图标。
你猜怎么着?只需使用 eq() 即可完成。

代码可能如下所示:
javascript $("div.product").eq(1 ).css("颜色", "深蓝色"); $("div.product").eq(4 ).css("颜色", "深蓝色");
后来发现这样写有点啰嗦,只好一一挑。
然后我学到了这个:
javascript $("div.product").eq([1 , 4 ]).css("颜色", "深蓝色");
一次吃两个,非常有效。
此用法仅在 jQuery 3 .4 之后支持。
我记得是2 01 8 年左右的版本,当时正好在修复一个老项目,升级了jQuery,立刻就使用了这个新功能。

此外,eq() 可以与其他选择器一起使用。
例如,电子商务网站有很多产品类别,您需要为第二个类别下的第一个产品添加标签:
javascript $("div.category:nth-child(2 ) div.product").eq(0).addClass("special");
你看,链式调用是多么容易。
我当时用这个功能非常顺利。
比直接用选择器写索引要好很多,而且代码看起来干净。

但是,我当时确实没有使用负索引。
但是,根据文档,负索引是向后计算的,例如,.eq(-1 ) 是最后一个。
我从来没有在实际项目中使用过这个功能。
也许它是在新版本中添加的?我不敢乱说,这个我得回去看看老代码了。

总的来说,eq()方法简单粗暴,很容易找到特定位置的元素。
尤其是.eq([index1 , index2 , ...]),选择多个不相交的元素简直就是神来之笔。
我偶尔还是用一下jQuery,这个方法还是蛮实用的。

jquery 选择器 怎样获取class='aaa'的DIV元素

jQuery 选择器可以精确定位元素。

div.aaa 选择 aaa 类的所有 div。

divb div.aaa 选择 div 下标识符为 b 的类 aaa 的所有子元素。

divb div.aaa、divc div.aaa 选择 id 为 b 或 c 的 div 下类 aaa 的所有元素。

自己掂量一下。