`
mmmzzc
  • 浏览: 109731 次
  • 性别: Icon_minigender_1
  • 来自: 黑龙江
社区版块
存档分类
最新评论

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

 
阅读更多

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 !! 看下图!相信大家有点 朦朦胧胧的 明白了
QQ截图20120706123422.png 
看完图,我在说下 一级子元素 和所有 所有后代元素 有什么不同~
举个形象点的例子!
有个 姓张的老头,儿孙满堂的!!
有一天  他好奇,他儿子谁右脸上 有痣 ,好嘞! 他用了一级子元素 选择器,筛选了一下儿子,结果找出张三 李四 王五…………
又有一天 他又好起了, 在他们 张氏家族中 有多少个人 右脸 上有痣 ,结果他用了 所有后代元素  !筛选了一下 所有后代! 结果找出了张三 李四 王五………… ,还有张三儿子,李四姑娘,王五孙子,赵六加丫头…………

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

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

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

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

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

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

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics