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

来源:3-1 jQuery的属性与样式之.attr()与.removeAttr()

慕仔824631

2018-05-22 17:48

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

    return '通过function设置' + val

    })

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

写回答 关注

4回答

  • qq_夜静了_0
    2018-08-04 16:48:30

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

  • 主宰灵魂
    2018-06-10 11:15:47

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

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

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

  • 主宰灵魂
    2018-06-10 10:56:37

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

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

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

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

  • qq_Timebegin_0
    2018-05-23 14:59:07

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


jQuery基础 (一)—样式篇

jQuery初入开启样式修炼,体验万能的jQuery样式集搭建网站布局

217509 学习 · 1218 问题

查看课程

相似问题