Javascript知识【jQuery:查找元素操作&案例:模拟用户分组】

简介: Javascript知识【jQuery:查找元素操作&案例:模拟用户分组】

jQuery查找元素操作【阶段重点】


aeebda9a836947a99e474d8a829684d9.png

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
    <script src="../js/jquery-3.3.1.min.js"></script>
    <script>
        $(function(){
            //1、获取 id="b" 元素 下所有的子元素
            var arr1 = $("#b").children();
            /*arr1.each(function () {
               alert(this.innerHTML);
            });*/
            //2、获取 id="b" 元素 上面的兄弟
            var d2 = $("#b").prev();
            //alert(d2.html());
            //3、获取 id="b" 元素 下面的兄弟
            var arr3 = $("#b").nextAll();
            /*arr3.each(function () {
                alert(this.innerHTML);
            });*/
            //4、获取 id="b" 元素 的父元素
            var d4 = $("#b").parent();
            //alert(d4.html());
            //5、获取 id="b" 元素 的所有兄弟
            var arr5 = $("#b").siblings();
            /*arr5.each(function () {
               alert(this.innerHTML);
            });*/
            //6、获取 id="main" 元素 下所有的font元素
            var arr6 = $("#main").find("font");
            alert(arr6.length);
        });
    </script>
</head>
<body>
    <div id="main">
        <div>
            <font>a-111111111111</font>
            <font>a-222222222222</font>
            <font>a-333333333333</font>
        </div>
        <div id="b">
            <font>b-111111111111</font>
            <font>b-222222222222</font>
            <font>b-333333333333</font>
        </div>
        <div>
            <font>c-111111111111</font>
            <font>c-222222222222</font>
            <font>c-333333333333</font>
        </div>
    </div>
</body>
</html>


案例:模拟用户分组


使用:jQuery模拟用户分组,要求如下:


1.页面加载时显示所有分组的列表项。


2.点击某分组名称时,仅显示当前分组列表,并隐藏其他分组的列表项


c94c68bcbb114515a11532678dc3968a.png


分析:

关键点:


1、滑动特效:


滑出:slideDown


滑回:slideUp


2、获取其他兄弟节点


siblings


3、进行子元素查找操作


find("表达式");



步骤:


  1. 页面加载完成时,为三个大DIV添加点击事件
  2. 点击事件中:将当前div样式由灰色变为高亮蓝色
  3. 将当前div中最后一个span滑动展示出来
  4. 获取当前div其他的兄弟节点,把兄弟节点由高亮蓝色变为灰色
  5. 当兄弟节点中最后一个span进行滑动收起

代码实现:

<!DOCTYPE html>
<html>
   <head>
      <meta charset="utf-8" />
      <title></title>
      <style>
         /*收起的div需要加此样式*/
         .unSelectedDiv{
            background-color: #EDEDED;
         }
         /*展开的div需要加此样式*/
         .selectedDiv{
            background-color: #6186E8;
         }
         div{
            border: 1px solid #CECECE;
            width: 250px;
            text-align: center;
            font-size: 25px;
            cursor: pointer;
         }
         div>span,div>span>a{
            display: block;
         }
         div>span>a{
            border: 1px solid #CECECE;
            font-size: 15px;
            background-color: #C7D5FB;
         }
      </style>
      <script src="../js/jquery-3.3.1.min.js"></script>
      <script>
         //1、页面加载完成时,为三个大DIV添加点击事件
         $(function () {
            $(".selectedDiv").click(function () {
               //2、点击事件中:将当前div样式由灰色变为高亮蓝色
               $(this).removeClass("unSelectedDiv");
               $(this).addClass("selectedDiv");
               //3、将当前div中最后一个span滑动展示出来
               $(this).find("span:last").slideDown(500);
               //4、获取当前div其他的兄弟节点,把兄弟节点由高亮蓝色变为灰色
               var arr = $(this).siblings();
               arr.removeClass("selectedDiv");
               arr.addClass("unSelectedDiv");
               //5、当兄弟节点中最后一个span进行滑动收起
               arr.find("span:last").slideUp(500);
            });
         });
      </script>
   </head>
   <body>
      <div class="selectedDiv">
         <span>JavaEE组</span>
         <span>
            <a>张三</a>
            <a>李四</a>
         </span>
      </div>
      <div class="selectedDiv">
         <span>Android组</span>
         <span>
            <a>王五</a>
            <a>赵六</a>
         </span>
      </div>
      <div class="selectedDiv">
         <span>UI组</span>
         <span>
            <a>钱七</a>
            <a>钢头</a>
         </span>
      </div>
   </body>
</html>


关键点:


1,滑动特效:滑出:slideDown      滑回slideUp


2,获取其他兄弟节点siblings


3,进行子元素查找操作find(“表达式”);  

相关文章
|
8天前
|
JavaScript 前端开发 程序员
前端原生Js批量修改页面元素属性的2个方法
原生 Js 的 getElementsByClassName 和 querySelectorAll 都能获取批量的页面元素,但是它们之间有些细微的差别,稍不注意,就很容易弄错!
|
1月前
|
JavaScript
jQuery - 添加元素
通过 jQuery,可以很容易地添加新元素/内容。
44 10
|
20天前
|
JavaScript 前端开发 开发者
.js的dom元素操作
【10月更文挑战第29天】通过灵活运用这些 DOM 元素操作方法,JavaScript 可以实现丰富的网页交互效果,如动态更新页面内容、响应用户操作、创建和删除页面元素等。在实际开发中,开发者可以根据具体的需求和场景,选择合适的 DOM 元素操作方法来实现所需的功能,为用户提供更加流畅和动态的网页体验。
|
1月前
|
JavaScript 前端开发 开发者
jQuery:JavaScript库的瑰宝
jQuery:JavaScript库的瑰宝
43 3
|
1月前
|
移动开发 JavaScript 前端开发
原生js如何获取dom元素的自定义属性
原生js如何获取dom元素的自定义属性
63 4
|
1月前
|
JavaScript
js删除数组中已知下标的元素
js删除数组中已知下标的元素
37 4
|
1月前
|
JavaScript 前端开发 索引
JS 删除数组元素( 5种方法 )
JS 删除数组元素( 5种方法 )
45 1
|
1月前
|
JavaScript 前端开发 API
深入了解jQuery:快速、高效的JavaScript库
【10月更文挑战第11天深入了解jQuery:快速、高效的JavaScript库
15 0
|
1月前
|
前端开发 JavaScript
JavaScript动态渲染页面爬取——CSS位置偏移反爬案例分析与爬取实战
JavaScript动态渲染页面爬取——CSS位置偏移反爬案例分析与爬取实战
|
2月前
|
JavaScript 前端开发
JavaScript从二维数组抽取元素组成新数组的三种方法
JavaScript从二维数组抽取元素组成新数组的三种方法
下一篇
无影云桌面