jQuery中的关系查找方法

目录
  • 一、jQuery关系查找方法
  • 二、jQuery其他关系查找方法

一、jQuery关系查找方法

  • $(this):在原生的DOM操作中,事件函数内部都有一个this关键字指向的就是触发事件的事件源;在jQuery中将this关键字传递给$()方法,得到的就是指向自己的jQuery对象,这样就可以使用jQuery方法了.
  • parent()父级:jQuery对象都有一个parent()方法,得到的是自己的父级,父级得到的也是一个jQuery对象,可以直接继续打点调用jQuery方法和属性
  • children()子级:可以得到自己的所有子级元素组成的jQuery对象;得到的子级组成的jQuery对象可以继续调用jQuery方法和属性
    • children()可以传递参数,参数是字符串格式的选择器,在选中所有子级的情况下,保留满足选择器的部分,进行二次选择.
  • siblings()兄弟:jQuery对象通过调用siblings()方法可以得到除了自己以外的所有同级元素(兄弟)组成的jQuery对象,找到的只能是亲的兄弟,不能是旁系(叔叔家)的兄弟
    • siblings()方法的到的jQuery对象可以进行二次选择,通过给参数传递字符串格式得到选择器
<head>
    <style>
        *{
            margin: 0;
            padding: 0;
        }
        .box{
            width: 400px;
            height: 60px;
            border: 1px solid #000;
            margin-top: 2px;
        }
        .box p,.box h2{
            float: left;
            width: 60px;
            height: 60px;
            margin-right: 20px;
            background-color: rgb(164, 247, 233);
        }
    </style>
</head>
<body>
    <div class="box">
        <p></p>
        <p></p>
        <p></p>
        <p></p>
        <h2>h2</h2>
    </div>
    <div class="box">
        <p></p>
        <p></p>
        <p></p>
        <p></p>
        <h2>h2</h2>
    </div>
    <div class="box">
        <p></p>
        <p></p>
        <p></p>
        <p></p>
        <h2>h2</h2>
    </div>
    <div class="box">
        <p></p>
        <p></p>
        <p></p>
        <p></p>
        <h2>h2</h2>
    </div>
    <script src="../jq/jquery-1.12.4.min.js"></script>
    <script>
        var $p = $("p");
        var $box = $(".box")
        $p.click(function(){
            //点击自己,发生颜色改变
            
            //使用$()包裹this,this由指向触发事件的原生js对象,变成指向jQuery对象自己
            $(this).css("background-color","pink");
            // $(this).parent() 找到事件源的父级元素
            $(this).parent().css("background-color","skyblue");

            //siblings()
          //  $(this).siblings().css("background-color","purple");
            //除了点击的以外,它的兄弟都变成了紫色
            // 添加参数后,会按照指定的选择器在子级中进行二次选择
            $(this).siblings("h2").css("background", "purple");
            //兄弟元素同时是好标签

        })

        //通过点击div 获取它的子级元素
        $box.click(function(){
            //获取子级
           // $(this).children().css("background","pink");
            
           // 添加参数后,会按照指定的选择器在子级中进行二次选择
            $(this).children("h2").css("background", "orange");

        })

        //查找兄弟元素  sinblings()
        // 写在$P方法中
    </script>
</body>

二、jQuery其他关系查找方法

  • find()后代元素:传递一个规定的选择器作为参数,查找范围是jQuery对象的所有后代

兄弟元素

 紧邻的兄弟元素方法:

  • next()下一个兄弟
  • prev()前一个兄弟

  多选方法:

  • nextAll()后面所有兄弟
  • preAll()前面所有兄弟
<style>
   *{
     margin: 0;
     padding: 0;
    }
   .box{
      border: 1px solid #000;
      background-color: white;
      width: 500px;
      height: 50px;
      margin-left: 4px;
      margin-top: 4px;
   }
  p{
     width: 50px;
     height: 50px;
     background-color: rgb(185, 185, 185);
     float: left;
     margin-right: 8px;
   }
  
  span{
       float: left;
       width: 50px;
       height: 50px;
       margin-right: 8px;
       background-color: pink;
     }
</style>
   
  <body>
      <div class="box">
          <p></p>
          <p></p>
          <p></p>
          <span></span>
          <span></span>
          <span></span>
      </div>
      <div class="box">
          <p></p>
          <p></p>
          <p></p>
          <span></span>
          <span></span>
          <span></span>
      </div>
      <div class="box">
          <p></p>
          <p></p>
          <p></p>
          <span></span>
          <span></span>
          <span></span>
      </div>
  
  
<script src="../jq/jquery-1.12.4.min.js"></script>
<script>
  var $box = $(".box")
  var $p = $("p")
          
  //实现点击一个子级标签,让它自己变成红色,使它的前面的兄弟变紫色,后面的兄弟变橘色
  var $child = $box.children();
  $child.click(function(){
     $(this).css("background-color","red")
     .prevAll().css("background-color","purple")
    $(this).css("background-color","red")
     .nextAll().css("background-color","orange")
  
  </script>
</body>

通过传递参数可以进行二次选择,参数是字符串格式的选择器,在前面或后面兄弟中选中符合选择器规定的部分。

parents()祖先级

通过该方法得到的是指定对象的包含body在内的所有祖先级元素组成的jQuery对象

通过传参进行二次选择,参数位置是字符串格式的选择器

代码示例:

 //实现点击一个子级标签,自己变红色,使它的祖先级变成蓝色
 // parents() 查找包含body在内的祖先级
 // $(this).css("background-color","red")
 // .parents().css("background-color","skyblue")       
                   
// parents()传参数,可以筛选去掉不是div的元素
 $(this).css("background-color", "red")
  .parents("div").css("background-color", "skyblue")
})

到此这篇关于jQuery中的关系查找方法的文章就介绍到这了,更多相关jQuery关系查找内容请搜索我们以前的文章或继续浏览下面的相关文章希望大家以后多多支持我们!

(0)

相关推荐

  • jQuery实现查找最近父节点的方法

    本文实例讲述了jQuery实现查找最近父节点的方法.分享给大家供大家参考,具体如下: 这里演示查找当前控件最近的table <html> <head> <title>usually function</title> </head> <body> <table name="name_table1"> <tr> <td>table1</td> </tr> &l

  • jQuery查找节点并获取节点属性的方法

    本文实例讲述了jQuery查找节点并获取节点属性的方法.分享给大家供大家参考,具体如下: <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title></title> <script type="text/javascript" src="js/jqu

  • JQuery查找子元素find()和遍历集合each的方法总结

    1.HTML代码 <div name="students" school="HK"> <input type="boy" name="ZhangSan" value="206"> <input type="girl" name="Lisi" value="108"> </div>  2.jquery

  • jquery的父、子、兄弟节点查找,节点的子节点循环方法

    jQuery.parent(expr)           //找父元素 jQuery.parents(expr)          //找到所有祖先元素,不限于父元素 jQuery.children(expr)        //查找所有子元素,只会找到直接的孩子节点,不会返回所有子孙 jQuery.contents()            //查找下面的所有内容,包括节点和文本. jQuery.prev()                //查找上一个兄弟节点,不是所有的兄弟节点 jQue

  • JQuery元素快速查找与操作

    首先,我们来看看jquery中如何查找到想要的结点. 第一步:sizzle选择器 基于元素的id.类.类型.属性.属性值等"查找"(或选择)HTML元素,简单的说是基于css选择器,除此之外还有一些特定的选择器. 第二步:查询祖先 parent() 返回被选元素的直接父元素,该方法只会向上一级对 DOM 树进行遍历 parents() 可以使用可选参数来过滤对父元素的搜索 返回被选元素的所有祖先元素,它一路向上直到文档的根元素 parentsUntil() 返回介于两个给定元素之间的所

  • jQuery 查找元素操作实例小结

    本文实例讲述了jQuery 查找元素操作.分享给大家供大家参考,具体如下: 1. id // 通过id查找 $('#id') 2. class <div class='c1'></div> // 通过class查找 $('.c1') 3. 标签.组合 <div id='i1' class='c1'> <a>x</a> </div> <div class='c1'> <div class='c2'>x</d

  • jQuery查找节点方法完整实例

    本文实例讲述了jQuery查找节点方法.分享给大家供大家参考,具体如下: <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title></title> <script type="text/javascript" src="js/jquery-1.10

  • jQuery中的关系查找方法

    目录 一.jQuery关系查找方法 二.jQuery其他关系查找方法 一.jQuery关系查找方法 $(this):在原生的DOM操作中,事件函数内部都有一个this关键字指向的就是触发事件的事件源;在jQuery中将this关键字传递给$()方法,得到的就是指向自己的jQuery对象,这样就可以使用jQuery方法了. parent()父级:jQuery对象都有一个parent()方法,得到的是自己的父级,父级得到的也是一个jQuery对象,可以直接继续打点调用jQuery方法和属性 chil

  • jQuery中slidedown与slideup方法用法示例

    这里结合实例形式总结分析了jQuery中slidedown与slideup方法用法.分享给大家供大家参考,具体如下: <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtm

  • jQuery中fadein与fadeout方法用法示例

    本文实例讲述了jQuery中fadein与fadeout方法用法.分享给大家供大家参考,具体如下: <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"&g

  • Jquery中find与each方法用法实例

    本文实例讲述了Jquery中find与each方法用法.分享给大家供大家参考.具体如下: 一.find()方法 jquery选择器非常强大,利用css的命名规约,可以更快更方便的找出想要的元素. 比如: $("#id") $("#"+"id") $(this) $(element) 等等,只要灵活运用,就能爆发出强大的可造型. 但是在实际使用中,仍然觉得有些不足. 如果想要在某个元素下寻找特定的元素,仅仅依靠上面这个方法,就必须对 $("

  • jQuery中show与hide方法用法示例

    本文实例分析了jQuery中show与hide方法用法.分享给大家供大家参考,具体如下: <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> &l

  • jQuery中的一些常见方法小结(推荐)

    1.filter()和not()方法 filter()和not()是一对反方法,filter()是过滤. filter()方法是针对元素自身.(跟has()方法有区别) <script type="text/javascript" src="jquery-1.12.3.min.js"></script> <script> /*filter(): 过滤 not():filter的反义词<BR>*/ $(function(

  • jQuery中ajax的get()方法用法实例

    本文实例讲述了jQuery中ajax的get()方法用法.分享给大家供大家参考.具体分析如下: $.get()通过 HTTP GET请求从服务器上请求数据. 语法结构: 复制代码 代码如下: $.get(url, [data], [callback], [type]); 参数解析: 1.URL:必须,规定请求的URL. 2.data:可选,待发送 Key/value 参数. 3.callback:可选,请求成功后所执行的回调函数. 4.type:可选,返回内容格式,xml, html, scri

  • jQuery中ajax的load()方法用法实例

    本文实例讲述了jQuery中ajax的load()方法用法.分享给大家供大家参考.具体分析如下: 此函数jQuery中简单而功能强大的ajax方法. 它可以从服务器加载内容,然后写入匹配元素. 语法结构: 复制代码 代码如下: $(selector).load(URL,data,callback); 参数解析: 1.selector:一个选择器,可以将内容加载到此选择器匹配的元素中. 2.URL:必须,需要加载的一个url地址. 3.data:可选,与请求一同发送的查询字符串键/值对集合. 4.

  • jQuery中ajax的post()方法用法实例

    本文实例讲述了jQuery中ajax的post()方法用法.分享给大家供大家参考.具体分析如下: $.post() 方法通过HTTP POST请求从服务器上请求数据. 语法结构: 复制代码 代码如下: $.post(URL,data,callback); 参数解析: 1.URL:必须,规定请求的URL. 2.data:可选,规定连同请求发送的数据. 3.callback:可选,规定请求成功后所执行的函数名. 代码实例: 复制代码 代码如下: <!DOCTYPE html> <html&g

  • jQuery中的deferred使用方法

    deferred简介 deferred对象是jQuery的回调函数解决方案,jQuery之前的版本中异步回调这块做的不是很好,所以后期补上了该解决方案. 普遍的ajax操作方式 我们先来回顾一下jQuery中普通的ajax操作 $.ajax({ url: 'test.html', success: function (res) { console.log('数据读取成功'); }, error: function () { console.log('数据读取失败'); } }); 1.5版本后的

随机推荐