欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

《JQuery 能干点啥~》第7讲 层级选择器_1

程序员文章站 2022-03-01 20:33:33
...

CSS 选择器 上节课 讲完了 这节课 将 层级选择器 ,这名字 是我自己起的,如果一会我讲完了大家有别的好名字,可以提下建议

-------------------------------------------- 开讲了-----------------------------------------------

在 HTML 中 经常会出现 嵌套 的结构,如果用白话 来说,就是 一个标签内部 好包含其他标签,以此类推吧~~
那么,如果 我们想的 得到某一个标签下的所有子标签,第一个子标签 等等的,用 CSS 选择器 直接操作可能不是那么容易~
JQ 提供了一些选择器,方便我们的查找~

现在 先说 所有后代元素吧 !!语法为:$("ancestor descendant")  这里,请大家注意,两个单词之间是有一个空格
现在 我来说 这两个单词是什么意思~,首先,这两个都是 选择器,第一个 是父标签的选择器,第二个是子标签的选择器
貌似有点乱,我来举个例子

双击复制代码
1
2
3
4
5
6
<table id="table父">
         <tr id="table的子,td的父">
                <td id="tr的子1"></td>
                <td id="tr的子2"></td>
         </tr>
 </table>


通过 id 应该很容易看出 他们的父子关系了把 (id 这里 ,只是为了给大家举例子!又用汉字,有用符号的,是不规范的,不建议大家模仿 )

那么 根据语法 ,我想得到 table中的所有 tr 的写法应该为

双击复制代码
1
$("table tr")


以前 好像一直没强调过,JQ 获得的对象,一般是一个集合! id 除外~~~~ 这个 希望大家 留心一下,以后会在将另一个 方法 each的时候 看的很明显!~~

接着说 所有后代元素 ! 有人说,这很麻烦啊,我在每个 tr 都加一个 class 属性,然后 用上节课 讲的 CSS 选择器 中的标签选择器 和 class 选择器 都能得出来啊!

这里我只能说 条条大路通罗马!  上吊不一定都吊死在一个歪脖树上呢! 所以 这个具体选择用什么选择器 ,是要根据实际情况来定的
这个 以后我也就不强调了,我只负责讲~至于怎么用,我只建议 不强求~

时间还够~ 再讲一个  层级选择器 中的  一级子元素  
所谓一级子元素   就是 父选择器下的第一层子元素 !语法   $("parent child")  这里 >  是一个 大于号,这个应该不难看出来吧

还是上面的例子 我要得到所有 tr 
写法应该为

双击复制代码
1
$("table>tbody>tr")

 


有人会很纳闷,为什么 多出来个 tbody !! 看下图!相信大家有点 朦朦胧胧的 明白了
《JQuery 能干点啥~》第7讲 层级选择器_1 
            
    
    博客分类: jquery 
看完图,我在说下 一级子元素 和所有 所有后代元素 有什么不同~
举个形象点的例子!
有个 姓张的老头,儿孙满堂的!!
有一天  他好奇,他儿子谁右脸上 有痣 ,好嘞! 他用了一级子元素 选择器,筛选了一下儿子,结果找出张三 李四 王五…………
又有一天 他又好起了, 在他们 张氏家族中 有多少个人 右脸 上有痣 ,结果他用了 所有后代元素  !筛选了一下 所有后代! 结果找出了张三 李四 王五………… ,还有张三儿子,李四姑娘,王五孙子,赵六加丫头…………

是不是 理解了~~
那我就再概括下~~

一级子元素  选择器就是 儿子辈元素~
所有后代元素  选择器 就是 父类元素 标签内所有标签都要参与选择

从上面的说明 应该很容易发现,在选择 子元素的时候 用一级子元素 选择器 效率会高出 所有后代元素 

好了,今天就讲这么多吧~  讲多了容易 混乱
下周一接着讲 层级选择器~

本人的原文出自 http://bbs.coderli.com/forum.php?mod=viewthread&tid=409&fromuid=7

有需要样例代码的 童鞋 可以去下载