jquery first()自己踩过的坑。

今天又一次仔细看了jq的文档,突然发现first有个坑,是自己理解错误,不知道有没有同学也遇到过,所以记录一下。

<!DOCTYPE html>
<html lang="zh-cmn-Hans">
<head>
<meta charset="utf-8" />
<title>jquery first()踩过的坑。</title>
<meta name="author" content="" />
<script src="jquery-1.11.3.min.js"></script>

</head>
<body>
<form class="form">
    <p>
        <label>姓名:<input type="text" name="name"/></label>
    </p>
</form>
</body>
</html>
<script>
    console.log($(".form input, .form label").first()); //打印第一个
</script>

一开始觉得会打印出 input 的jq对象,但是发现结果不是这样的。

打印结果如下:
这里写图片描述

结果打印的是label对象,之前理解$(“.form input, .form label”)是选中选择器“.form input”和“ .form label”,“.form input”这个选择器在前面,所以放在jq数组里面肯定也是在前面,所以就会输出打印出 input 的jq对象,但是事实并非如此。

这里写图片描述

然后看一下DOM结构:

<p>
    <label>姓名:<input type="text" name="name"/></label>
</p>

jq选择器的获取结果是跟DOM的顺序一样,跟选择器出现的顺序没有关系!

不知道有没有小白也跟我一样,以为是选择器出现先,那么获取结果就先出现呢。呵呵呵~!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值