为了账号安全,请及时绑定邮箱和手机立即绑定

查找第三个input 的时候为什么不能这样写呢?

$("form:nth-child(3)").attr('value',function(i, val){

    return '通过function设置' + val

    })

为什么用 nth-child 无效果呢?

正在回答

4 回答

简单点说你这个$("form:nth-child(3)")表示的是第三个form元素,如果你需要用nth-child就应该为$("input:nth-child(3)")

0 回复 有任何疑惑可以回复我~

input:nth-child(3)是第一步,找到所有的input元素,得到一个所有input元素组成的集合,第二步,在集合中找出在家是他爹的第3个孩子的那些input元素

input:nth-eq(3)是第一步,找到所有的input元素,得到一个所有input元素组成的集合(看成数组),第二步,在集合中找出下标是[3]的input元素.

而form:nth-child(3)是第一步只找到一个form元素,第二步,找到在家是他爹的第3个孩子的form,哪有这么个元素啊

1 回复 有任何疑惑可以回复我~

课程上的话挺烧脑的,用白话给楼主解释下吧

1, 筛选选择器用来筛选其前面已匹配的元素集合.根据之前匹配的元素在进一步筛选

2, 冒号前的选择器得到的结果是一个合集.也就是

    匹配的元素集合:nth-child(n) 排行老几筛选器 //在匹配的集合中选择是家中排行第n的那些

2 回复 有任何疑惑可以回复我~

w3c的定义ele:nth-child(n) 选择器匹配属于其父元素的第 N 个子元素,不论元素的类型。 
注意这里的父元素,是从ele这个元素开始往上寻找
应该换成input ,往上寻找form是父元素 ,所以你用form的话就作用不了


0 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消

查找第三个input 的时候为什么不能这样写呢?

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信