jquey下eq()的使用注意事项
写在开始的话:
今天在公司路经同事工位,发现在写jquery代码,刚好遇见一个bug,于是驻足看了一会,发现了jq遍历方法中eq()的使用的一个容易犯错的地方。
同事的代码大概意思是这样的:
<div class="hover-div">
<p>1231</p>
<p>1231</p>
</div>
<div class="hover-div">
<p>1231</p>
<p>1231</p>
</div>
<div class="hover-div">
<p>1231</p>
<p>1231</p>
</div>
<div class="hover-div">
<p>1231</p>
<p>1231</p>
</div>
<div class="hover-div">
<p>1231</p>
<p>1231</p>
</div>
<script type="text/javascript">
$(".hover-div").find("p").eq(0).css("background-color","red");
</script>
他是想每行的首个"p"标签,背景颜色变为红色,可是效果是这样

明显效果不对,他当时的代码的想法应该是想着代码的执行顺序是循环着,先取一个'hover_div',然后取内联元素中的'p'标签。
其实不然,可以打印如下:
console.log($(".hover-div").find("p"));
打印效果:

即,此代码执行过后选取了所有的'p'标签,然后遍历使用eq的时候就会,选取相应的元素,所以方法的理解和选用都是错误的,应该在选择器中使用相应的方法或者如此:
$(".hover-div").each(function(index, element) {
$(element).find("p").eq(0).css("background-color", "red");
});
或者
$(".hover-div p:first-child").css("background-color","red");
友情链接:
技术博客 简书主页
jquey下eq()的使用注意事项的更多相关文章
- Windows下获取高精度时间注意事项
Windows下获取高精度时间注意事项 [转贴 AdamWu] 花了很长时间才得到的经验,与大家分享. 1. RDTSC - 粒度: 纳秒级 不推荐优势: 几乎是能够获得最细粒度的计数器抛弃理由: ...
- linux下高并发网络应用注意事项
本文转自:http://www.blogjava.net/bacoo/archive/2012/06/11/380500.html linux下高并发网络应用注意事项 vi /etc/sysctl.c ...
- NET Core 1.1 版本项目和2.0环境下的项目开发注意事项
在NET Core 1.1开发下的项目最好不要随便把工具更新升级到2.0,这样最容易导致之前的.NETCore直接被升级不兼容早前版本 会引起项目无法启动在运行调试IIS express 时候直接一闪 ...
- windows下docker使用及注意事项
1.windows container模式下,pull镜像会失败 no matching manifest for windows/amd64 in the manifest list entries ...
- 关于Ubuntu下安装Win8和Win8下安装Ubuntu的注意事项
版权声明:本文为博主原创文章,未经博主同意不得转载. https://blog.csdn.net/svitter/article/details/32932387 本文出自:http://blog.c ...
- Windows下获取高精度时间注意事项 [转贴 AdamWu]
花了很长时间才得到的经验,与大家分享. 1. RDTSC - 粒度: 纳秒级 不推荐优势: 几乎是能够获得最细粒度的计数器抛弃理由: A) 定义模糊 - 曾经据说是处理器的cycle counter, ...
- windows下python IDE安装注意事项&Python安装及编辑器UliPad安装
python下载地址: http://www.python.org/download/releases/2.7.6/ 我自己用的是ulipad ,但是注意 ulipad和python的版本一定要配 ...
- delphi在64位系统下写注册表注意事项
HKEY_LOCAL_MACHINE写这个主键下的项,在64位系统下可能会重定向,所以构造时要加KEY_WOW64_64KEY reg := TRegistry.Create(KEY_WRITE or ...
- eclipse下项目复制改名注意事项
当在Eclipse下复制Web工程时 1.需要修改复制后新工程源码文件下 .settings 文件夹下的org.eclipse.wst.common.component中的内容为本工程名,明细如图:
随机推荐
- 一起玩转mysql
mysql安装 一起玩转mysql linux命令
- Jmeter-Critical Section Controller(临界区控制器)
The Critical Section Controller ensures that its children elements (samplers/controllers, etc.) will ...
- localhost能连接websocket 127.0.0.1 不能连接问题?
最近开发中遇到一个问题,就是有的浏览器电脑能连接websocket , 有的不能 , 有的能用localhost连接,有的能用127.0.0.1连接,这个问题很奇怪 提供一个很好测试websocket ...
- git源站安装
##下载源站 wget https://www.kernel.org/pub/software/scm/git/git-2.15.0.tar.xz ##安装依赖组件 yum install curl- ...
- System.IO.Path类
System.IO.Path为路径的操作封装了很多很有的东西,利用该类提供的方法能够快速处理路径操作的问题.下面详细了解一下. 1.属性 属性太复杂了,反映什么系统平台的信息,看不懂,等以后看得懂了再 ...
- RHEL6安装Oracle 11g R2
收藏PDF版质料请点这里:http://download.csdn.net/detail/jifeng3518/6464999 1.使用DVD做yum源1.1.新建dvd挂载目录[root@oracl ...
- 扩展Linq的Distinct方法动态根据条件进行筛选
声明为了方便自己查看所以引用 原文地址:http://www.cnblogs.com/A_ming/archive/2013/05/24/3097062.html Person1: Id=1, Nam ...
- expect学习笔记及用法
expect学习笔记及实例详解 expect的基本用法 expect用法
- yaml语言教程
大家直接去看阮一峰的教程. http://www.ruanyifeng.com/blog/2016/07/yaml.html?f=tt 简介 基本语法规则: 大小写敏感 使用缩进表示层级关系 缩进时不 ...
- 搜索引擎Lucene之皮毛
一.Lucene是apache软件基金会4 jakarta项目组的一个子项目,是一个开放源代码的全文检索引擎工具包,但它不是一个完整的全文检索引擎,而是一个全文检索引擎的架构,提供了完整的查询引擎和索 ...