【前端开发学习】5.JQuery

news2024/11/17 8:38:17

文章目录

  • 1 JQuery
  • 2 快速上手
  • 3 寻找标签
    • 3.1 直接寻找
    • 3.2 间接寻找
    • 案例:菜单转换
  • 4 操作样式
  • 5 值的操作
    • 案例:动态创建数据库
  • 6 事件
  • 案例:表格操作
  • 7 前端整合
    • 案例

1 JQuery

一个 JavaScript 的第三方模块(第三方类库)。

  • 基于 JQuery ,自己开发一个功能;
  • 现成的工具依赖 JQuery , 例如 BootStrap 的动态效果;

2 快速上手

  1. 下载 JQuery:

    https://jquery.com/
    
  2. 应用 JQuery:

    <!DOCTYPE html>
    
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <title>Title</title>
        <link rel="stylesheet" href="/static/plugins/bootstrap-3.4.1/css/bootstrap.min.css">
    </head>
    <body>
    <h1 id="txt">中国联通</h1>
    <script src="static/jquery/jquery.js"></script>
    <script type="text/javascript">
        // 利用 jQuery 修改标签内容
    
        //找到id=txt的标签并修改
        $("#txt").text("广西联通");
    
    </script>
    </body>
    </html>
    

3 寻找标签

3.1 直接寻找

  1. ID 选择器

    <h1 id="txt">中国联通</h1>
    
    $("#txt")
    
  2. 样式选择器

    <h1 class="c1">中国联通</h1>
    
    $(".c1")
    
  3. 标签选择器

    <h1 class="c1">中国联通</h1>
    
    $("h1")
    
  4. 层级选择器

    <h1 class="c1">
    	<div class="c2">
    		<a></a>
    	</div>
    </h1>
    
    $(".c1 .c2 a")
    
  5. 多选择器

    <h1 class="c1">中国联通</h1>
    <h1 class="c2">福建联通</h1>
    $(".c1, .c2")
    
  6. 属性选择器

    <input type='text' name="n1" />
    <input type='text' name="n1" />
    <input type='text' name="n2" />
    $("input[name='n1']")
    

3.2 间接寻找

$("#c1").prev() // 找前一个
$("#c1").next() // 找下一个
$("#c1").next().next() // 找下下个

$("#c1").siblings() // 找所有的兄弟
$("#c1").parent() // 找父亲
$("#c1").children() // 找孩子
$("#c1").children(".p10") // 在所有孩子中寻找class=p10

案例:菜单转换

效果图:

在这里插入图片描述

<!DOCTYPE html>

<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
    <link rel="stylesheet" href="/static/plugins/bootstrap-3.4.1/css/bootstrap.min.css">
    <style>
        .menus{
            width: 200px;
            height: 800px;
            border: 1px solid red;
        }
        .menus .header{
            background-color: gold;
            padding: 10px 5px;
            border-bottom: 1px dotted #dddddd;

            cursor: pointer; /* 鼠标变成小手 */
        }
        .menus .content a{
            display: block;
            padding: 5px 5px;
            border-bottom: 1px dotted #dddddd;
        }
        .hide{
            display: none;
        }
    </style>
</head>
<body>
    <div class="menus">
        <div class="item">
            <div class="header" onclick="clickMe(this)">上海</div>
            <div class="content hide">
                <a>宝山区</a>
                <a>青浦区</a>
                <a>浦东新区</a>
                <a>普陀区</a>
            </div>
        </div>
        <div class="item">
            <div class="header" onclick="clickMe(this)">北京</div>
            <div class="content hide">
                <a>海淀区</a>
                <a>朝阳区</a>
                <a>大兴区</a>
                <a>昌平区</a>
            </div>
        </div>
    </div>
    <script src="static/jquery/jquery.js"></script>
    <script>
        function clickMe(self){
            // $(self) -> 表示当前点击的那个表圈
            // $(self).next() 下一个标签
            // $(self).next().removeClass("hide") 移除样式
            // 展示下面内容
            $(self).next().removeClass("hide");

            // 找父亲,父亲的所有兄弟,再从每个兄弟的子孙中寻找 class=content, 添加hide样式
            $(self).parent().siblings().find(".content").addClass("hide");
        }
    </script>
</body>
</html>

4 操作样式

  • addClass;
  • removeClass;
  • hasClass;

5 值的操作

  1. 获取文本内容

    <div id='c1'>内容</div>
    
    $("#c1").text() // 获取文本内容
    $("#c1").text("rest") // 设置文本内容
    
  2. 获取输入内容

    <input type='text' id='c2' />
    
    $("#c2").val() // 获取用户内容
    $("#c2").val("rest") // 设置输入内容
    

案例:动态创建数据库

效果图:

在这里插入图片描述

<!DOCTYPE html>

<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
    <link rel="stylesheet" href="/static/plugins/bootstrap-3.4.1/css/bootstrap.min.css">
</head>
<body>
    <input type="text" id="txtUser" placeholder="用户名">
    <input type="text" id="txtEmail" placeholder="邮箱">
    <input type="button" value="提交" onclick="getInfo()" />

    <ul id="view"></ul>
    <script src="static/jquery/jquery.js"></script>
    <script>
        function getInfo(){
            // 1.获取用户输入的用户名和密码
            var username = $("#txtUser").val();
            var email = $("#txtEmail").val();
            var dataString = username + '-' + email;
            // 2.创建li标签 在li标签的内部写入内容
            var newLi = $("<li>").text(dataString);

            // 3.把新创建的li标签添加到ul里面
            $("#view").append(newLi);
        }
    </script>
</body>
</html>

6 事件

  1. 在 JQuery 中可以删除某个标签:

    <div id="c1">内容</div>
    
    $("#c1").remove();
    
  2. 案例:一点击就删除元素。

    <!DOCTYPE html>
    
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <title>Title</title>
        <link rel="stylesheet" href="/static/plugins/bootstrap-3.4.1/css/bootstrap.min.css">
    </head>
    <body>
        <ul id="view">
            <li>百度</li>
            <li>谷歌</li>
            <li>搜狗</li>
        </ul>
        <script src="static/jquery/jquery.js"></script>
        <script>
            $("li").click(function(){
                $(this).remove();
            })
        </script>
    </body>
    </html>
    
  3. 当页面框架加载完成之后自动执行代码:

    <script>
        $(function(){
            // 函数体
         })
    </script>
    

案例:表格操作

效果图:

在这里插入图片描述

<!DOCTYPE html>

<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
    <link rel="stylesheet" href="/static/plugins/bootstrap-3.4.1/css/bootstrap.min.css">
</head>
<body>
    <table border="1">
        <thead>
            <tr>
                <th>ID</th>
                <th>姓名</th>
                <th>操作</th>
            </tr>
        </thead>
        <tbody>
            <tr>
                <td>1</td>
                <td>rice</td>
                <td>
                    <input type="button" value="删除" class="delete" />
                </td>
            </tr>
            <tr>
                <td>1</td>
                <td>rice</td>
                <td>
                    <input type="button" value="删除" class="delete" />
                </td>
            </tr>
            <tr>
                <td>1</td>
                <td>rice</td>
                <td>
                    <input type="button" value="删除" class="delete" />
                </td>
            </tr>
        </tbody>
    </table>
    <script src="static/jquery/jquery.js"></script>
    <script>
        $(function(){
            $(".delete").click(function(){
                // 删除当前行的标签
                $(this).parent().parent().remove();
            })
        })

    </script>
</body>
</html>

7 前端整合

案例

效果图:

在这里插入图片描述

<!DOCTYPE html>

<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
    <link rel="stylesheet" href="static/plugins/bootstrap-3.4.1/css/bootstrap.min.css">
    <link rel="stylesheet" href="static/plugins/fontawesome-free/css/fontawesome.css">
</head>
<body>
<nav class="navbar navbar-inverse">
    <div class="container-fluid">
        <!-- Brand and toggle get grouped for better mobile display -->
        <div class="navbar-header">
            <button type="button" class="navbar-toggle collapsed" data-toggle="collapse"
                    data-target="#bs-example-navbar-collapse-1" aria-expanded="false">
                <span class="sr-only">Toggle navigation</span>
                <span class="icon-bar"></span>
                <span class="icon-bar"></span>
                <span class="icon-bar"></span>
            </button>
            <a class="navbar-brand" href="#">Richael</a>
        </div>

        <!-- Collect the nav links, forms, and other content for toggling -->
        <div class="collapse navbar-collapse" id="bs-example-navbar-collapse-1">
            <ul class="nav navbar-nav">
                <li class="active"><a href="#">Link <span class="sr-only">(current)</span></a></li>
                <li><a href="#">Link</a></li>
                <li class="dropdown">
                    <a href="#" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-haspopup="true"
                       aria-expanded="false">Dropdown <span class="caret"></span></a>
                    <ul class="dropdown-menu">
                        <li><a href="#">Action</a></li>
                        <li><a href="#">Another action</a></li>
                        <li><a href="#">Something else here</a></li>
                        <li role="separator" class="divider"></li>
                        <li><a href="#">Separated link</a></li>
                        <li role="separator" class="divider"></li>
                        <li><a href="#">One more separated link</a></li>
                    </ul>
                </li>
            </ul>
            <form class="navbar-form navbar-left">
                <div class="form-group">
                    <input type="text" class="form-control" placeholder="Search">
                </div>
                <button type="submit" class="btn btn-default">Submit</button>
            </form>
            <ul class="nav navbar-nav navbar-right">
                <li><a href="#">Link</a></li>
                <li class="dropdown">
                    <a href="#" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-haspopup="true"
                       aria-expanded="false">rice <span class="caret"></span></a>
                    <ul class="dropdown-menu">
                        <li><a href="#">candy</a></li>
                        <li><a href="#">meat</a></li>
                        <li><a href="#">Something else here</a></li>
                        <li role="separator" class="divider"></li>
                        <li><a href="#">Separated link</a></li>
                    </ul>
                </li>
            </ul>
        </div><!-- /.navbar-collapse -->
    </div><!-- /.container-fluid -->
</nav>
<div class="bs-example-tooltips">
    <button type="button" class="btn btn-default" data-toggle="tooltip" data-placement="left" title=""
            data-original-title="Tooltip on left">Tooltip on left
    </button>
    <button type="button" class="btn btn-default" data-toggle="tooltip" data-placement="top" title=""
            data-original-title="Tooltip on top">Tooltip on top
    </button>
    <button type="button" class="btn btn-default" data-toggle="tooltip" data-placement="bottom" title=""
            data-original-title="Tooltip on bottom">Tooltip on bottom
    </button>
    <button type="button" class="btn btn-default" data-toggle="tooltip" data-placement="right" title=""
            data-original-title="Tooltip on right">Tooltip on right
    </button>
</div>

<script src="static/jquery/jquery.js"></script>
<script src="static/plugins/bootstrap-3.4.1/js/bootstrap.js"></script>
<script>
    $(function () {
        $('[data-toggle="tooltip"]').tooltip();
    })
</script>

</body>
</html>
  1. JavaScript 的引用顺序:

    <script src="static/jquery/jquery.js"></script>
    <script src="static/plugins/bootstrap-3.4.1/js/bootstrap.js"></script>
    
  2. 有些插件需要搭配 JavaScript 使用, 因此 js 相关函数放在 JavaScript 引用之后, 并且记得使用 script 块:

    <script>
        $(function () {
            $('[data-toggle="tooltip"]').tooltip();
        })
    </script>
    

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/97999.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

再学C语言7:数据类型(3)——char类型

char类型用于存储字母和标点符号之类的字符 在技术实现上&#xff0c;char是整数类型&#xff0c;因为char类型实际存储的是整数而不是字符 为了处理字符&#xff0c;计算机使用一种数字编码&#xff0c;用特定的整数表示特定的字符 经典和常用的是ASCII码&#xff0c;标准A…

React学习29(react-redux最终完整版)

说明 1&#xff09;所有变量名字要规范&#xff0c;尽量触发对象的简写形式 2&#xff09;reducers文件夹中&#xff0c;编写index.js专门用于汇总并暴露所有的reducer 项目结构 代码示例 index.js import React from react import ReactDOM from react-dom import App fr…

ios 证书与签名

证书与签名 XCode中配置的Code Signing Identity&#xff08;entitlements、certificate&#xff09;必须与Provisioning Profile匹配&#xff0c;并且配置的Certificate必须在本机Keychain Access中存在对应Public&#xff0f;Private Key Pair&#xff0c;否则编译会报错。 X…

Improved Techniques for Training Score-Based Generative Models论文阅读

论文链接&#xff1a;Improved Techniques for Training Score-Based Generative Models 文章目录摘要引言背景郎之万动力学基于分数的生成模型选择噪声尺度初始的噪声尺度其它噪声等级结合噪音信息配置退火朗之万动力学EMA改善稳定性组合所有技巧定量结果消融研究更高分辨率结…

[附源码]计算机毕业设计PythonQ宝商城(程序+源码+LW文档)

该项目含有源码、文档、程序、数据库、配套开发软件、软件安装教程 项目运行 环境配置&#xff1a; Pychram社区版 python3.7.7 Mysql5.7 HBuilderXlist pipNavicat11Djangonodejs。 项目技术&#xff1a; django python Vue 等等组成&#xff0c;B/S模式 pychram管理等…

同样是1亿数据,为什么nutsdb扛不住,而badgerdb可以?

背景 ​ 之前在知乎上看到一个问题&#xff1a;作为一个KV数据库&#xff0c;levelDB为什么使用LSM树实现&#xff0c;而不是hash索引&#xff1f;当时就想作答一番。不过看到问题下方已经有大佬作答了&#xff0c;而我也说不出什么新东西来。于是选择作罢。 ​ 但是最近有nut…

磁共振功能成像BOLD-fMRI原理

小川诚二(Seiji Ogawa)教授于1990年首次在大鼠上实现了功能磁共振成像 fMRI的对比度产生机制 fMRI的信号来源仍然为氢质子&#xff0c;MRI解剖图像对解剖结构的差别非常敏感&#xff0c;fMRI功能图像对神经元活动所伴随的生理变化敏感fMRI的生理学基础 脑的血液动力学&#x…

【Ubuntu】将Qt程序打包制作成deb

1、打包Qt程序 1.1 下载linuxdeployqt 如果使用环境是x86可以直接下载,下载地址 https://github.com/probonopd/linuxdeployqt/releases如果使用环境是嵌入式,需要下载linuxdeployqt源码,自行编译 1.2 安装linuxdeployqt 将下载解压后的linuxdeployqt,拷贝到/usr/local…

Dubbo 3 Dubbo 快速入门 3.2 Dubbo 快速入门 3.2.1 Spring和 SpringMvc 整合

Dubbo 【黑马程序员Dubbo快速入门&#xff0c;Java分布式框架dubbo教程】 3 Dubbo 快速入门 文章目录Dubbo3 Dubbo 快速入门3.2 Dubbo 快速入门3.2.1 Spring和 SpringMvc 整合3.2 Dubbo 快速入门 3.2.1 Spring和 SpringMvc 整合 依然拿着 架构图来比着搞 【实现步骤】 ①创…

5G无线技术基础自学系列 | 单站点验证准备

素材来源&#xff1a;《5G无线网络规划与优化》 一边学习一边整理内容&#xff0c;并与大家分享&#xff0c;侵权即删&#xff0c;谢谢支持&#xff01; 附上汇总贴&#xff1a;5G无线技术基础自学系列 | 汇总_COCOgsta的博客-CSDN博客 单站点验证需要的准备工作包括硬件及通…

超越nnFormer!UNETR++:高效准确的3D医学图像分割

UNETR: Delving into Efficient and Accurate 3D Medical Image Segmentation 论文链接&#xff1a; https://arxiv.org/abs/2212.04497 代码链接&#xff1a; https://github.com/Amshaker/unetr_plus_plus 导读 这篇论文主要讲述了一种名为 UNETR 的 3D 医学图像分割方法&…

[附源码]Node.js计算机毕业设计黑河市劳务人员管理系统Express

项目运行 环境配置&#xff1a; Node.js最新版 Vscode Mysql5.7 HBuilderXNavicat11Vue。 项目技术&#xff1a; Express框架 Node.js Vue 等等组成&#xff0c;B/S模式 Vscode管理前后端分离等等。 环境需要 1.运行环境&#xff1a;最好是Nodejs最新版&#xff0c;我…

绘制面积图(折线图)plot.area方法

【小白从小学Python、C、Java】 【计算机等级考试500强双证书】 【Python-数据分析】 绘制面积图&#xff08;折线图&#xff09; plot.area方法 [太阳]选择题 以下python代码结果错误的一项是? import matplotlib.pyplot as plt import pandas as pd import numpy as np myDa…

【LVGL学习笔记】(三)控件使用

LVGL全程LittleVGL&#xff0c;是一个轻量化的&#xff0c;开源的&#xff0c;用于嵌入式GUI设计的图形库。并且配合LVGL模拟器&#xff0c;可以在电脑对界面进行编辑显示&#xff0c;测试通过后再移植进嵌入式设备中&#xff0c;实现高效的项目开发。 LVGL中文教程手册&#…

汇编条件转移指令

目录 条件转移指令&#xff08;基本格式&#xff09; 简单条件转移指令 区分带符号数和无符号数 无符号数条件转移指令 比较内存中两个无符号数的大小&#xff0c;显示器输出小的数 内存中三个无符号数&#xff0c;输出最小的 符号数的条件转移指令 内存中有三个字节型带…

[附源码]Python计算机毕业设计冠军体育用品购物网站Django(程序+LW)

该项目含有源码、文档、程序、数据库、配套开发软件、软件安装教程 项目运行 环境配置&#xff1a; Pychram社区版 python3.7.7 Mysql5.7 HBuilderXlist pipNavicat11Djangonodejs。 项目技术&#xff1a; django python Vue 等等组成&#xff0c;B/S模式 pychram管理等…

uni-app卖座电影多端开发纪实(一):创建项目

@关于uni-app 今日之C端主要都是跑在手机而非PC上了,其形态也以小程序、App、手机H5页面为主了;大前端之C端 作品拿粗给人看,也十之八九要掏手机了;好在我们有 宇宙制霸人间值得流芳千古不可一世之我是大天才——uni-app!基于Vue+uni-app做开发,一套代码多端打包,老板省钱…

[LeetCode周赛复盘] 第 324 场周赛20221218

[LeetCode周赛复盘] 第 324 场周赛20221218 一、本周周赛总结二、 [Easy] 6265. 统计相似字符串对的数目1. 题目描述2. 思路分析3. 代码实现三、[Medium] 6266. 使用质因数之和替换后可以取到的最小值1. 题目描述2. 思路分析3. 代码实现四、[Medium] 6267. 添加边使所有节点度数…

区块链北大肖老师学习笔记3

第四节:比特币的共识协议 数字货币和纸质货币区别是可以复制&#xff0c;叫作双花攻击 即double spending attack。 去中心化货币要解决两个问题:①数字货币的发行②怎么验证交易的有效性&#xff0c;防止double spending attack。 答案:①比特币的发行是由挖矿决定的 ②…

适合编程初学者的开源博客系统(Vue3+Vant版)

目标 为编程初学者打造入门学习项目&#xff0c;使用各种主流编程语言来实现。让想学编程的&#xff0c;一个都不落下。 上述基本涵盖了当前编程开发所有主流语言。 左侧为前端版本&#xff1a;安卓、iOS、鸿蒙、Flutter、Vue、uni-app、微信小程序。 右侧为服务器端版本&am…