【web开发】4、JavaScript与jQuery

news2024/11/29 12:32:58

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档

文章目录

  • 一、JavaScript与jQuery
  • 二、JavaScript常用的基本功能
    • 1.插入位置
    • 2.注释
    • 3.变量
    • 4.数组
    • 5.滚动字符
  • 三、jQuery常用的基本功能
    • 1.引入jQuery
    • 2.寻找标签
    • 3.val、text、append的使用举例
    • 4.表格删除案例
    • 5.绑定事件案例
    • 6.菜单切换案例


一、JavaScript与jQuery

JavaScript(简称JS)是一种广泛应用的编程语言,主要用于网页开发。它是一种多才多艺、动态性强的语言,允许开发人员为网页应用添加交互性、操作文档对象模型(DOM)并创建丰富的用户体验

jQuery是一个流行的JavaScript库,简化了客户端Web开发。它提供了各种功能和工具,用于与HTML文档交互处理事件发起AJAX请求和创建动画。

二、JavaScript常用的基本功能

1.插入位置

在head体中

 <script type="text/javascript">
        //编写位置1
    </script>

在body体中

<script type="text/javascript">
    function myFunc() {
    		//编写位置2
//        alert("你好呀")
          confirm("是否要继续")
    }
</script>

2.注释

总快捷键:ctrl+/
在不同的文件类型中,注释也各有不同。

<!--- html   --->
/* CSS  */
//JS  
/*  JS */

3.变量

<script type="text/javascript">
    var name1 ="aa";
    console.log(name);
//    声明
    var name2="中国联通";
    var name3=str("中国联通");
    var v1 =name.length;
    var v2 =name[0];  //无-1,-2说法   ==name.charAt(3)
    var v3 =name.trim()  //去空白得到新的字符串
    var v4 =name.substring(1,2)//切片 前取后不取
</script>

4.数组

<script type="text/javascript">
  var v1 =[1,2,3,4];
  var v2 =Array([1,2,3,4]);
<!--  操作-->
  v1[1] =[]
  v1.pash =("最重要")  //尾部追加
  v1.unshift("最重要") //前面添加
  v1.splice(1,0,"中国")// v1.splice(索引,0,元素)把“中国”放在第一个索引的位置
  v1.pop()  //尾部删除
  v1.shift() //头部删除
  v1.splice(2,1) //splice(索引位置,1) 索引为2的元素删除
  //循环
  for (var idx in v1){
    //idx =0/1/2/3/  data =v1[idx]

  }
  for (var i =0;i <v1.length;i++){
  }
  //存在break,countinue
</script>

5.滚动字符

<body>
    <span id="txt">欢迎来CSDN学习</span>
    <script type="text/javascript">
        function show()
        {
<!--1.HTML中找到某个标签并获取他的内容 DOM-->
        var tag=document.getElementById("txt");
        var dataString=tag.innerText;
<!-- 2.动态起来 把文本中的第一个字符放字符串的最后面-->

        var firstChar =dataString[0];
        var otherString =dataString.substring(1,dataString.length);
        var newText =otherString + firstChar;
<!--3.HTML中更新内容-->
        tag.innerText =newText;
        }
<!--  定时器,每一秒执行一次show函数-->
        setInterval(show,1000);
    </script>
</body>

三、jQuery常用的基本功能

1.引入jQuery

法一:官网提供了CDN 的支持,直接使用官网 提供的链接即可。

<script src="https://cdn.bootcss.com/jquery/3.3.1/jquery.js"></script>
<script src="https://cdn.bootcss.com/bootstrap/3.3.7/js/bootstrap.min.js"></script>

法二:去官网下载jQuery的js文件和Bootstrap的压缩包。
在根目录下创建static目录,并在static目录下分别创建js\css\plugins\img目录。
将jQuery的js文件放到js目录下,将压缩包里面的文件放到plugins目录下。如下图:
在这里插入图片描述

<script src="static/js/jquery-3.7.0.min.js"></script>
<script src="static/plugins/bootstrap-3.4.1/js/bootstrap.min.js"></script>

注意:BootStrap 依赖JavaScript的类库, (jquery须在bootstrap的前方)

2.寻找标签

直接寻找标签
Id选择(id=”txt”) : $(“#txt”)
样式选择(class=”c1”): $(“.c1”)
标签选择器(h1,div) : $(“h1”)
层级选择器 : $(“.c1 .c2 a”)
多选择器 : $(“#txt,#c1,li”)
属性选择器 : $(“input[name=“n1”]”)

间接寻找标签
兄弟关系中
找到上一个 : $(“#txt”).prev()
找到下一个 : $(“#txt”).next()
找到下下一个 : $(“#txt”).next().next()
所有兄弟 : $(“#txt”).siblings()
父子关系中
$(“#txt”).parent()
$(“#txt”).children()
$(“#txt”).children(“.p10”) //儿子中找寻class=p10

3.val、text、append的使用举例

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
</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="https://cdn.bootcss.com/jquery/3.3.1/jquery.js"></script>
<script src="https://cdn.bootcss.com/bootstrap/3.3.7/js/bootstrap.min.js"></script>
<script>
    function getInfo(){
        //1.获取
        var username = $("#txtUser").val();
        var email = $("#txtEmail").val();
        var dataString =username +"-" +email;
       // 2.创建且写入
        var newli = $("<li>").text(dataString);
        //3.把创建的li标签添加到ul里面
        $("#view").append(newli);
    }
</script>
</body>
</html>

4.表格删除案例

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
</head>
<body>
    <table border="1">
        <thead>
        <tr>
            <th>ID</th>
            <th>姓名</th>
            <th>操作</th>
        </tr>
        </thead>
        <tbody>
        <tr>
            <td>1</td>
            <td>aa</td>
            <td>
                <input type="button" value="删除" class="delete"/>
            </td>
        </tr>
        <tr>
            <td>2</td>
            <td>bb</td>
            <td>
                <input type="button" value="删除" class="delete"/>
            </td>
        </tr>
        <tr>
            <td>3</td>
            <td>cc</td>
            <td>
                <input type="button" value="删除" class="delete"/>
            </td>
        </tr>
        </tbody>
    </table>
    <script src="https://cdn.bootcss.com/jquery/3.3.1/jquery.js"></script>
    <script>
        $(function () {
            //找到所有class=delete 的标签 绑定事件
            $(".delete").click(function () {
                ($(this)).parent().parent().remove();

            });
        })
    </script>
</body>
</html>

5.绑定事件案例

以remove为例

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
</head>
<body>
<ul>
    <li>百度</li>
    <li>谷歌</li>
    <li>搜狐</li>
    <li>必应</li>
</ul>
<script src="https://cdn.bootcss.com/jquery/3.3.1/jquery.js"></script>
<script>
    $(function(){

        $("li").click(function () {
        var text = $(this).text();
        var text = $(this).remove();//鼠标点击后去除
        })
    })             //当页面框架加载完成,自动执行
</script>

</body>
</html>

6.菜单切换案例

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
    <style>
        .menus{
            width:200px;
            height:800px;
            border:1px solid red;
        }
        .menus .header{
            background:gold;
            padding:10px 5px;
            border:1px solid gray;

            cursor: pointer;
        }
        .menus .content a{
            display: block;
            padding:5px 5px ;
            border:1px solid gray;
        }
        .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="https://cdn.bootcss.com/jquery/3.3.1/jquery.js"></script>
    <script>
        function clickMe(self) {
            //展示自己下面的功能
            $(self).next().removeClass("hide");
            //找父亲,父亲的所有兄弟,再去每个兄弟的子孙中寻找class=content 添加hide样式
            $(self).parent().siblings().find(".content").addClass("hide");

            if(hasHide){
                 $(self).next().removeClass("hide");
            }else{
                 $(self).next().addClass("hide");
            }
        }
    </script>
</body>
</html>

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

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

相关文章

Yolov8魔术师:卷积变体大作战,涨点创新对比实验,提供CVPR2023、ICCV2023等改进方案

&#x1f4a1;&#x1f4a1;&#x1f4a1;本文独家改进&#xff1a;提供各种卷积变体DCNV3、DCNV2、ODConv、SCConv、PConv、DynamicSnakeConvolution、DAT&#xff0c;引入CVPR2023、ICCV2023等改进方案&#xff0c;为Yolov8创新保驾护航&#xff0c;提供各种科研对比实验 &am…

js如何实现字符串反转?

聚沙成塔每天进步一点点 ⭐ 专栏简介⭐ 使用 split() 和 reverse() 方法⭐ 使用循环⭐ 使用递归⭐ 写在最后 ⭐ 专栏简介 前端入门之旅&#xff1a;探索Web开发的奇妙世界 记得点击上方或者右侧链接订阅本专栏哦 几何带你启航前端之旅 欢迎来到前端入门之旅&#xff01;这个专…

数控程序传输DNC服务、数控刀补服务(发那科fanuc、西门子、三菱、广数、新代、华中、宝元、马扎克、大畏Okuma)等数据采集服务

行业现状&#xff1a; 最近听到很多做MES、ERP这一行的叫苦&#xff0c; 客户对项目的要求越来越严格&#xff0c;做到数字化工厂都伴随着ERP、MES的项目要求必须一起做下去 然而很对MES、ERP对设备协议不懂&#xff0c;买了协议自己还要开发&#xff0c;考虑线程的问题、断…

C++多线程编程(第三章 案例2,条件变量,生产者-消费者模型)

目录 1、condition_variable1.1、生产者消费者模型1.2、改变共享变量的线程步骤1.3、等待信号读取共享变量的线程步骤1.3.1、获得改变共享变量线程共同的mutex1.3.2、wait()等待信号通知1.3.2.1、无lambda表达式1.3.2.2 lambda表达式 样例代码 1、condition_variable 等待中&a…

数据平滑和离群值检测

目录 移动窗口方法 常见的平滑方法 检测离群值 非均匀数据 数据平滑指用于消除数据中不需要的噪声或行为的技术&#xff0c;而离群值检测用于标识与其余数据显著不同的数据点。 移动窗口方法 移动窗口方法是分批处理数据的方式&#xff0c;通常是为了从统计角度表示数据中…

Union-Find Algorithm-并查集

目录 1.概念 2.并查集的优化 1.路径压缩&#xff08;Path Compression&#xff09; 1&#xff09;隔代压缩&#xff1a; 2&#xff09;完全压缩&#xff1a; 2.按秩合并 1.概念 并查集&#xff1a;用于判断一对元素是否相连&#xff0c;它们的关系是动态添加&#xff08…

嵌入式学习笔记(20) SoC时钟系统简介

什么是时钟&#xff0c;SoC为什么需要时钟 &#xff08;1&#xff09;时钟同步工作系统的同步节拍 &#xff08;2&#xff09;SoC内部有很多器件&#xff0c;譬如CPU、DRAM控制器、串口、GPIO等内部外设&#xff0c;这些东西要彼此协调工作&#xff0c;需要一个同步的时钟系统…

解决css设置图片大小不生效的问题

今天在做css布局时发现一个问题&#xff1a;设置图片大小不生效&#xff1a; 如上图所示&#xff1a;左上角两个图标的大小不一致&#xff0c;第一个是56x56,第二个是49x49,所以要把第二个的高度设置成56px&#xff1a; .mi-home img {height: 56px; }但是如上代码&#xff0c;…

Java-钉钉订阅事件

文章目录 背景什么是钉钉订阅事件钉钉订阅事件的应用场景 整体思路查看钉钉文档 什么是钉钉回调钉钉回调具体实操创建自己的应用钉钉回调开发过程中遇到的问题 总结 背景 最近需要做一个业务&#xff1a;钉钉组织架构下添加人员之后&#xff0c;要对该人员的数据信息做一个处理…

mysql课堂笔记 mac

目录 启动mac上的mysql 进入mysql mac windows 创建数据库 创建表 修改字段数据类型 修改字段名 增加字段 删除字段 启动mac上的mysql sudo /usr/local/mysql/support-files/mysql.server start 直接输入你的开机密码即可。 编辑 进入mysql mac sudo /usr/local…

Revit SDK 介绍:MeasurePanelArea 统计分割表面中族的面积

前言 这个例子介绍如果从分割表面中&#xff0c;获取内部Tile&#xff08;或者Panel&#xff09;的族里面的几何实体的面的面积。 内容 本例子的逻辑相对来说比较简单&#xff0c;主要是对 DividedSurface 和 Element 的API接口要熟悉。 核心逻辑 设置单个面板Panel的面积上…

交友盲盒完整版——详细源码分享

现在目前比较火热的一款app交友盲盒是通过uniappspringboot技术来制作的&#xff0c;原理其实很简单&#xff0c;大家一看便知。 大家自行下载到手机里面去使用即可&#xff0c;不支持ios手机 演示地址&#xff1a;https://share.weiyun.com/l3ovztce 下面就是给大家分享源码了…

用Maloja创建音乐收听统计数据

什么是 Maloja &#xff1f; Maloja 是简单的自托管音乐记录数据库&#xff0c;用于创建个人收听统计数据。没有推荐&#xff0c;没有社交网络&#xff0c;没有废话。Maloja 是一个跟踪您一段时间内的收听习惯的工具。 官方演示站点&#xff1a;https://maloja.krateng.ch/ 导出…

一路风景一路歌 森海塞尔MKE 200为你记录City Walk的美妙旋律

“想要切身融入并感受一个地方的生活&#xff0c;不去当地街头溜达溜达怎么行&#xff1f;”一位City Walk Vlogger这样说。 City Walk可谓是时下最潮的生活方式之一了。不仅越来越多的游客开始穿梭于城市街巷&#xff0c;探寻饱含记忆的老建筑、老街区&#xff0c;从另一种角度…

Smallest number(dfs全排列)

Smallest number - 洛谷 #include<bits/stdc.h> #define int long long using namespace std; int a[10]; string s[5]; bool vis[10]; int ans1e13;//0x3f1e9&#xff0c;所有有点不够 void dfs(int u) { // for(int i0;i<4;i) // { // printf("%d…

Arouter配置指南

Arouter实现了大型App之间的轻耦合&#xff0c;降低代码的复杂度&#xff0c;易维护。如果不使用Arouter那么项目之前的关系可能是如下&#xff1a;底层模块间相互耦合&#xff0c;工程代码复杂度高&#xff0c;不便于管理。 Arouter 引入Arouter后希望底层模块间轻耦合&…

海南开放大学——助力学习之路的智慧导航

在信息时代的今天&#xff0c;我们面临着大量的学习资源和知识碎片化的挑战。而面对这一挑战&#xff0c;海南开放大学&#xff08;广播电视大学&#xff09;以其先进的教育理念和创新的学习方式&#xff0c;为学习者提供了一个独特的学习平台&#xff0c;开启了智慧导航的学习…

10路混音播放芯片,AD按键可扩展,IO口资源丰富,WTR096A-16S

随着科技的不断进步&#xff0c;我们的生活中对于音频体验的需求也在日益增加。无论是玩具、娱乐设备还是智能家居产品&#xff0c;都需要高性能、多功能的混音播放芯片来提供卓越的音频处理和控制能力。正是在这个背景下&#xff0c;我们引入了全新的WTR096A-16S混音芯片&…

房贷利率下调一言难尽

号外&#xff1a;9.7教链内参《摩根大通研究称BTC生产成本约为1.8w刀》。 一大清早&#xff0c;打开手机&#xff0c;就收到了新华社的推送&#xff0c;说是工农中建四大行7号发了公告&#xff0c;明确了存量首套住房贷款调整的事。&#xff08;新华社2023.9.8《四家银行发布公…

【新版】系统架构设计师 - 案例分析 - 总览

个人总结&#xff0c;仅供参考&#xff0c;欢迎加好友一起讨论 架构 - 案例分析 - 总览 新旧大纲对应 旧版新版系统规划软件架构设计设计模式系统设计系统建模分布式系统设计嵌入式系统设计系统的可靠性分析与设计系统的安全性和保密性设计系统计划信息系统架构的设计理论和实…