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(“表达式”);  

相关文章
|
5月前
|
JavaScript 算法 开发者
如何用JS实现在网页上通过鼠标移动批量选择元素的效果?
本文介绍了类似电脑桌面通过鼠标选择多个图标的实现原理。主要通过监听mousedown、mousemove和mouseup事件,动态调整选择框大小并计算与元素的重叠情况。提供了角重叠和相交重叠的检测方法,并附有示例代码和在线演示链接,方便开发者参考与测试。
189 56
|
10月前
|
JavaScript 前端开发 程序员
前端原生Js批量修改页面元素属性的2个方法
原生 Js 的 getElementsByClassName 和 querySelectorAll 都能获取批量的页面元素,但是它们之间有些细微的差别,稍不注意,就很容易弄错!
211 1
|
6月前
|
JSON JavaScript 数据格式
jqtimeline.js-简单又好用的jquery时间轴插件
jqtimeline.js-简单又好用的jquery时间轴插件
|
6月前
|
JavaScript 前端开发 Java
深入理解 JavaScript 中的 Array.find() 方法:原理、性能优势与实用案例详解
Array.find() 是 JavaScript 数组方法中一个非常实用和强大的工具。它不仅提供了简洁的查找操作,还具有性能上的独特优势:返回的引用能够直接影响原数组的数据内容,使得数据更新更加高效。通过各种场景的展示,我们可以看到 Array.find() 在更新、条件查找和嵌套结构查找等场景中的广泛应用。 在实际开发中,掌握 Array.find() 的特性和使用技巧,可以让代码更加简洁高效,特别是在需要直接修改原数据内容的情形。 只有锻炼思维才能可持续地解决问题,只有思维才是真正值得学习和分享的核心要素。如果这篇博客能给您带来一点帮助,麻烦您点个赞支持一
|
6月前
|
监控 JavaScript 前端开发
MutationObserver详解+案例——深入理解 JavaScript 中的 MutationObserver:原理与实战案例
MutationObserver 是一个非常强大的 API,提供了一种高效、灵活的方式来监听和响应 DOM 变化。它解决了传统 DOM 事件监听器的诸多局限性,通过异步、批量的方式处理 DOM 变化,大大提高了性能和效率。在实际开发中,合理使用 MutationObserver 可以帮助我们更好地控制 DOM 操作,提高代码的健壮性和可维护性。 只有锻炼思维才能可持续地解决问题,只有思维才是真正值得学习和分享的核心要素。如果这篇博客能给您带来一点帮助,麻烦您点个赞支持一下,还可以收藏起来以备不时之需,有疑问和错误欢迎在评论区指出~
MutationObserver详解+案例——深入理解 JavaScript 中的 MutationObserver:原理与实战案例
|
7月前
|
JavaScript 前端开发 索引
40个JS常用使用技巧案例
大家好,我是V哥。在日常开发中,JS是解决页面交互的利器。V哥总结了40个实用的JS小技巧,涵盖数组操作、对象处理、函数使用等,并附带案例代码和解释。从数组去重到异步函数,这些技巧能显著提升开发效率。先赞再看后评论,腰缠万贯财进门。关注威哥爱编程,全栈开发就你行!
204 16
|
6月前
|
移动开发 运维 供应链
通过array.some()实现权限检查、表单验证、库存管理、内容审查和数据处理;js数组元素检查的方法,some()的使用详解,array.some与array.every的区别(附实际应用代码)
array.some()可以用来权限检查、表单验证、库存管理、内容审查和数据处理等数据校验工作,核心在于利用其短路机制,速度更快,节约性能。 博客不应该只有代码和解决方案,重点应该在于给出解决方案的同时分享思维模式,只有思维才能可持续地解决问题,只有思维才是真正值得学习和分享的核心要素。如果这篇博客能给您带来一点帮助,麻烦您点个赞支持一下,还可以收藏起来以备不时之需,有疑问和错误欢迎在评论区指出~
|
6月前
|
供应链 JavaScript 前端开发
通过array.every()实现数据验证、权限检查和一致性检查;js数组元素检查的方法,every()的使用详解,array.some与array.every的区别(附实际应用代码)
array.every()可以用来数据验证、权限检查、一致性检查等数据校验工作,核心在于利用其短路机制,速度更快,节约性能。 博客不应该只有代码和解决方案,重点应该在于给出解决方案的同时分享思维模式,只有思维才能可持续地解决问题,只有思维才是真正值得学习和分享的核心要素。如果这篇博客能给您带来一点帮助,麻烦您点个赞支持一下,还可以收藏起来以备不时之需,有疑问和错误欢迎在评论区指出~
|
10月前
|
JavaScript 前端开发
js+jquery实现贪吃蛇经典小游戏
本项目采用HTML、CSS、JavaScript和jQuery技术,无需游戏框架支持。通过下载项目文件至本地,双击index.html即可启动贪吃蛇游戏。游戏界面简洁,支持方向键控制蛇移动,空格键实现游戏暂停与恢复功能。
235 14
|
10月前
|
JavaScript 前端开发 开发者
.js的dom元素操作
【10月更文挑战第29天】通过灵活运用这些 DOM 元素操作方法,JavaScript 可以实现丰富的网页交互效果,如动态更新页面内容、响应用户操作、创建和删除页面元素等。在实际开发中,开发者可以根据具体的需求和场景,选择合适的 DOM 元素操作方法来实现所需的功能,为用户提供更加流畅和动态的网页体验。