jQuery基础教程之强大的选择器(层次选择器)

转载 2012年03月31日 13:52:41

无论何时,我们都要记住的一点就是通过jQuery选择器获取的jQuery对象任何时候都是一组元素。
而JQuery选择器又具有这样的特点:
隐式迭代
$(“选择器”).css(“background-color”,”red”)则是为这组元素中每个元素的样式都加上红色背景。jQuery会自动迭代每个元素,这就免去了我们编写代码遍历每个元素对象的操作。

无需判断对象是否存在
如果页面上不存在id为test的DOM 元素,$(“#test”).css(“background-color”,”red”)不会产生任何异常,而document.getElementById(“test”).style.backgroundColor=’red’就会产生未找到对象的异常。
虽然jQuery这样操作不会产生异常,但是我们在开发jQuery插件的时候,是有必要判断jQuery选择器有没有获取到元素的,这样可以在插件未正常获取到元素的时候,可以立即停止插件的运行,可以提高性能而且减少意外情况的发生。如何获取呢?可以这样

1 if ($("选择器").length > 0){
2     //说明获取到元素了
3 }else{
4     //未获取到元素
5 }

上面一段文字貌似和今天要说的jQuery层次选择器好像没多大关系呢,呵呵~~的确,上面的东西是我临时想起来的,感觉比较实用,所以就在这里和大家说一下,也好让对此没有多少了解的人解决一下疑惑。
那接下来我们来说一下这个jQuery层次选择器的用法,其实jQuery层次选择器只有两种用法:

  1. $(“ancestor descendant”):选取parent元素后所有的child元素
    ancestor的中文意思是“祖先”,descendant的中文意思是“后代”

    $(“body div”) 选取body元素下所有的div元素。
    $(“ul li”) 选取ul元素下所有的li元素。
    $(“#test div”) 选取id为“test”的元素所包含的所有的div子元素
    $(“div#test div”) 选取id为“test”的div所包含的所有的div子元素
    $(“.test div”) 选取class为“test”的元素所包含的所有的div子元素
    $(“div.test span”) 选取class为“test”的div所包含的所有的span子元素
    $(“span.test .demo”) 选取class为“test”的span所包含的所有的class为demo的元素
    $(“.test .demo”) 选取class为“test”的元素所包含的所有的class为demo的元素
  2. $(“parent > child”):选取parent元素后所有的直属child元素,何谓“直属”,也就是第一级的意思了
    $(“body > div”) 选取body元素下所有的第一级div元素。
    $(“ul > li”) 选取ul元素下所有的第一级li元素。
    $(“#test > div”) 选取id为“test”的元素所包含的所有的第一级div子元素
    $(“div#test > div”) 选取id为“test”的div所包含的所有的第一级div子元素
    $(“.test > div”) 选取class为“test”的元素所包含的所有的第一级div子元素
    $(“div.test > span”) 选取class为“test”的div所包含的所有的第一级span子元素
    $(“span.test > .demo”) 选取class为“test”的span所包含的所有的第一级class为demo的元素
    $(“.test > .demo”) 选取class为“test”的元素所包含的所有的第一级class为demo的元素
  3. $(“prev + next”):prev和next是两个同级别的元素. 选中在prev元素后面的next元素.
    $(“#demo+img”)选在id为demo元素后面的img对象.如果id为demo元素后面没有同级的img对象,那么这个$(“#demo+img”).length=0
  4. $(“prev ~ siblings”):选择prev后面的根据siblings过滤的元素。注:siblings是过滤器
    $(“#demo~[title]“)选择id为demo的元素后面所有带有title属性的元素,同样如果id为demo的元素后面没有一个带有title属性的元素,那么$(“#demo~[title]“).length = 0

相关文章推荐

jQuery层次选择器

.imgclass     {         width:100px; height:100px;         }         div &#...

jQuery层次选择器

后代选择器 //选择 body内的所有div元素. $('#btn1').click(function(){ $('body div').css("back...

jquery 孩子和兄弟选择器

Jquery 孩子和兄弟选择器分为4类,1 后代选择器(A B) ;2 孩子选择器(A>B) ;3相邻兄弟选择器(A+B); 一般兄弟选择器(A~B). 以下让我们通过一个例子来理解它们的不同。  ...
  • taiyb
  • taiyb
  • 2014-10-30 23:16
  • 8072

jquery中选取兄弟节点的方法

$('#id').siblings() 当前元素所有的兄弟节点 $('#id').prev() 当前元素前一个兄弟节点 $('#id').prevaAll() 当前元素之前所有的兄弟节点 $('...

jquery 用于选择多个元素的多选择器

在jquery中,你能够通过逗号,来分隔字符选择多个选择。 例如: $(.class1, .class2, #id1) 在以上的例子中,将会选择含有类名为class1,和class2及i...
  • taiyb
  • taiyb
  • 2014-10-24 23:52
  • 84879

jQuery选择器详细介绍:基本选择器,层次选择器,属性选择器

jQuery选择器详细介绍:基本选择器,层次选择器,属性选择器

Jquery选择器分类(基本选择器,层次选择器,过滤选择器,表单选择器)

基本选择器 说明:通过元素id、class和标签名等来查找DOM元素 1.id选择器:$("#test");//选取id为test的元素 2.类选择器:$(".test");//选取所有class为...

jQuery选择器之层级选择器

背景:我们可以把文档中的所有的节点节点之间的关系,用传统的家族关系来描述,可以把文档树当作一个家谱,那么节点与节点直接就会存在父子,兄弟,祖孙的关系了。 >(大于号)紧跟父子关系 如$("div >...

jQuery基础教程之+层次选择器

隐式迭代 $(“选择器”).css(“background-color”,”red”)则是为这组元素中每个元素的样式都加上红色背景。jQuery会自动迭代每个元素,这就免去了我们编写代码遍历每个元素...

jQuery基础教程之强大的选择器(表单选择器)

今天我们来说说jQuery选择器中的最后一类表单选择器,学完这最后一种选择器之后,接下来我会慢慢地带领大家对jQuery中如何操作DOM进行详细地讲解,同时我自己也在学习中,有好多jQuery操作DO...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

(最多只允许输入30个字)