JavaWeb(4)——jQuery(2)、书城项目第一阶段

尚硅谷javaWeb书城项目第一阶段 用js实现 尚硅谷javaweb书城项目第一阶段 没有使用jQuery 视频中用的是jQuery,我没有学这个,就根据给的代码改成了js,正好可以练习一下js。目前还没有写验证码功能。试了一下,可以运行成功。 这里主要的改动就是将错误提示信息加了个id属性。用getElementById来操作错误提示信息。通过var spanObj = document.getElementById(“span”)这个语句;创建一个span标签的对象,根据 spanObj.innerHTML = “用户名不合法!” ,对span标签里 阅读详情

目录

jQuery 的属性操作

jQuery 属性操作的函数

全选、 全不选、反选

DOM 的增删改

把左右元素两边位置互换

动态添加删除记录

CSS 样式操作

jQuery 动画

CSS_动画之品牌展示

jQuery 事件操作

$(document).ready(function(){}; 和 window.onload = function(){};的区别?

jQuery 中其他的事件处理方法:

事件的冒泡

javaScript 事件对象

图片跟随

使用所学知识完成书城项目第一阶段——表单验证

创建Modul项目并用Tomcat运行Web项目

项目完整结构参考

完成需求(以注册页面为例子)


jQuery 的属性操作

jQuery 属性操作的函数

  • html() 它可以设置和获取起始标签和结束标签中的内容。 跟 dom 属性 innerHTML 一样。
  • text() 它可以设置和获取起始标签和结束标签中的文本。 跟 dom 属性 innerText 一样。
  • val() 它可以设置和获取表单项的 value 属性值。 跟 dom 属性 value 一样 

  • attr() 可以设置和获取属性的值,不推荐操作 checked、readOnly、selected、disabled 等等,因为他们可能因为标签未定义而返回undefined错误提示。 attr 方法还可以操作非标准的属性。比如自定义属性:abc,bbj
  • prop() 可以设置和获取属性的值,只推荐操作 checked、readOnly、selected、disabled 等等
  • 因此attr()与prop()是互补关系

代码演示单个操作html()、text()、val()

<!DOCTYPE html>
<html lang="zh_CN">
    <head>
        <meta charset="UTF-8">
        <title>Title</title>
        <script type="text/javascript" src="script/jquery-1.7.2.js"></script>
        <script type="text/javascript">

            $(function () {
                // 不传参数,是获取,传递参数是设置
                alert($("div").html());// 我是div标签 <span>我是div中的span</span>,获取
                $("div").html("<h1>我是div中的标题 1</h1>");// 设置对象起始和结束标签内的HTML

                // 不传参数,是获取,传递参数是设置
                alert($("div").text()); // 我是div中的标题 1,获取
                $("div").text("<h1>我是div中的标题 1</h1>"); // 设置文本信息

                // 不传参数,是获取,传递参数是设置
                $("button").click(function () {
                    alert($("#username").val());//获取
                    $("#username").val("超级程序猿");// 设置
                });
            });

        </script>
    </head>
    <body>
        <div>我是div标签 <span>我是div中的span</span></div>
        <input type="text" name="username" id="username"/>
        <button>操作输入框</button>
    </body>
</html>

 代码演示批量操作html()、text()、val()

<!DOCTYPE html>
<html lang="zh_CN">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
    <script type="text/javascript" src="script/jquery-1.7.2.js"></script>
    <script type="text/javascript">

        $(function () {
/*
            // 批量操作:选中所有的class="radio"单选项的默认值为radio2
            $(":radio").val(["radio2"]);

            // 批量操作:多选框的选中状态
            $(":checkbox").val(["checkbox3","checkbox2"]);

            // 批量操作多选的下拉框选中状态
            $("#multiple").val(["mul2","mul3","mul4"]);

            // 操作单选的下拉框选中状态
            $("#single").val(["sin2"]);
*/
            //批量按顺序操作多个选框的默认值
            $("#multiple,#single,:radio,:checkbox").val(["radio2","checkbox1","checkbox3","mul1","mul4","sin3"]);
        });

    </script>
</head>
<body>
<body>
    <!--这里的value属性所带的值表示该单选项所携带的值,与name属性凑成一个要发送的KV-->
    单选:
    <input name="radio" type="radio" value="radio1" />radio1
    <input name="radio" type="radio" value="radio2" />radio2
    <br/>
    多选:
    <input name="checkbox" type="checkbox" value="checkbox1" />checkbox1
    <input name="checkbox" type="checkbox" value="checkbox2" />checkbox2
    <input name="checkbox" type="checkbox" value="checkbox3" />checkbox3
    <br/>

    下拉多选 :
    <select id="multiple" multiple="multiple" size="4">
        <option value="mul1">mul1</option>
        <option value="mul2">mul2</option>
        <option value="mul3">mul3</option>
        <option value="mul4">mul4</option>
    </select>
    <br/>

    下拉单选 :
    <select id="single">
        <option value="sin1">sin1</option>
        <option value="sin2">sin2</option>
        <option value="sin3">sin3</option>
    </select>
</body>
</body>
</html>

代码演示jQuery 属性操作的函数attr()、prop()

<!DOCTYPE html>
<html lang="zh_CN">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
    <script type="text/javascript" src="../script/jquery-1.7.2.js"></script>
    <script type="text/javascript">

        $(function () {
            //获取所有多选框中的第一个属性name的值及修改该属性的值
            alert( $(":checkbox:first").attr("name") ); // checkbox,获取
            $(":checkbox:first").attr("name","abc") ; // 修改该属性的值为abc,设置
            alert( $(":checkbox:first").attr("name") ); // abc,证明该属性值已经被修改

/*
            不能用attr("checked")的原因是因为如果没有多选框被选中,那么就会返还undefined,官方官方觉得返回undefined是一个错误,
            如果多选框有一个被选中了attr("checked")函数会返回checked
            改用prop("checked"),如果没有多选框被选中,那么就会返还false,表示否认的意思,就是没有一个选框被选中,
            如果如果多选框有一个被选中了attr("checked")函数会返回true,表示至少一个多选框被选中
            总结一下使用prop函数更加直观并且可以忽略因为选框没有被选中而产生的未定义错误提示返回undefined
*/
            alert($(":checkbox").attr("checked"));//undefined
            $(":checkbox").prop("checked",true );//true就是表示选中的意思,这里没有特指选中哪一个多选框,因此是全选

            // 给指定标签对象设置自定义属性abc,并设定值为abcValue,然后读取
            $(":checkbox:first").attr("abc","abcValue");
            alert( $(":checkbox:first").attr("abc") );//abcValue
        });

    </script>
</head>
<body>
<body>
    <br/>
    <!--属性checked="checked"表示多选框中默认选中该选项-->
    多选:
    <input name="checkbox" type="checkbox" value="checkbox1" />checkbox1
    <input name="checkbox" type="checkbox" value="checkbox2" />checkbox2

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

全选、 全不选、反选

代码演示

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
    <head>
        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
        <title>Insert title here</title>
        <script type="text/javascript" src="../script/jquery-1.7.2.js"></script>
        <script type="text/javascript">

            $(function () {
                //获取多选框且name=items的标签
                var $items = $(":checkbox[name=items]");
                //获取所有name='items'的多选框标签
                var items = $("[name='items']");

                //全选按钮,把所有name='items'的多选框标签和全选的多选框勾上
                $("#checkedAllBtn").click(function () {
                    items.attr("checked", true);
                    $("#checkedAllBox").attr("checked", true);
                });

                //全不选按钮,把所有name='items'的多选框标签和全选的多选框取消勾选
                $("#checkedNoBtn").click(function () {
                    items.attr("checked", false);
                    $("#checkedAllBox").attr("checked", false);
                });

                //反选按钮
                $("#checkedRevBtn").click(function () {
                    items.each(function () {
                        this.checked = !this.checked;
                    });
                    var flag = $("[name='items']:checked").length == 4;
                    $("#checkedAllBox").attr("checked", flag);
                });

                //提交按钮,选择所有name="items"且选中的复选框对象,然后对每个复选框对象进行回调,在弹窗中显示
                $("#sendBtn").click(function () {
                    $(":checkbox[name='items']:checked").each(function () {
                        alert(this.value);
                    });
                });

                //全选(全不选)复选框
                $("#checkedAllBox").click(function () {
                    items.attr("checked", this.checked);
                });

                //全选/全不选复选框与items状态同步
                $("[name='items']").click(function () {
                    var flag = $("[name='items']:checked").length == 4;
                    $("#checkedAllBox").attr("checked", flag);
                });
            });

        </script>
    </head>
    <body>

        <form method="post" action="">

            你爱好的运动是?<input type="checkbox" id="checkedAllBox"/>全选/全不选

            <br/>
            <input type="checkbox" name="items" value="足球"/>足球
            <input type="checkbox" name="items" value="篮球"/>篮球
            <input type="checkbox" name="items" value="羽毛球"/>羽毛球
            <input type="checkbox" name="items" value="乒乓球"/>乒乓球
            <br/>
            <input type="button" id="checkedAllBtn" value="全 选"/>
            <input type="button" id="checkedNoBtn" value="全不选"/>
            <input type="button" id="checkedRevBtn" value="反 选"/>
            <input type="button" id="sendBtn" value="提 交"/>
        </form>

    </body>
</html>

DOM 的增删改

  • 内部插入
    • appendTo() #a.appendTo(b) 把 a 插入到 b 子元素末尾,成为最后一个子元素
    • prependTo() a.prependTo(b) 把 a 插到 b 所有子元素前面,成为第一个子元素
  • 外部插入:
    • insertAfter() a.insertAfter(b) 得到 ba
    • insertBefore() a.insertBefore(b) 得到 ab
  • 替换:
    • replaceWith() a.replaceWith(b) 用 b 替换掉 a
    • replaceAll() a.replaceAll(b) 用 a 替换掉所有 b
  • 删除:
    • remove() a.remove(); 删除 a 标签
    • empty() a.empty(); 清空 a 标签里的内容

代码演示

<!DOCTYPE html>
<html lang="zh_CN">
    <head>
        <meta charset="UTF-8">
        <title>Title</title>
        <script type="text/javascript" src="../script/jquery-1.7.2.js"></script>
        <script type="text/javascript">

            $(function () {

                //内部插入
                //appendTo() #a.appendTo(b) 把 a 插入到 b 子元素末尾,成为最后一个子元素
                $("<h1>标题1</h1>").appendTo($("div"));
                //prependTo() a.prependTo(b) 把 a 插到 b 所有子元素前面,成为第一个子元素
                $("<h1>标题2</h1>").prependTo($("div"));

                //外部插入
                //insertAfter() a.insertAfter(b) 得到 ba
                $("<h1>标题3</h1>").insertAfter("div");
                //insertBefore() a.insertBefore(b) 得到 ab
                $("<h1>标题4</h1>").insertBefore("div");

                //替换
                //replaceWith() a.replaceWith(b) 用 b 替换掉 a
                $("p").replaceWith("<h1>标题5</h1>");
                // $("<h1>标题</h1>").replaceWith("p");//如果用存在的东西替换不存在的东西,那该方法无效果
                //replaceAll() a.replaceAll(b) 用 a 替换掉所有 b
                $("<h1>标题6</h1>").replaceAll("a");

                //删除
                //remove() a.remove(); 删除 a 标签
                $("c").remove();
                //empty() a.empty(); 清空 a 标签里的内容,但标签对象的属性不清空
                $("b").empty();

            });


        </script>
    </head>
    <body>
        <body>
            <div>1234</div>
            <div>1234</div>
            <p>6666</p>
            <a>7777</a>
            <b margin="5px">8888</b>
            <c>9999</c>
        </body>
    </body>
</html>

 

把左右元素两边位置互换

代码演示

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
    <head>
        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
        <title>Insert title here</title>
        <style type="text/css">
            select {
                width: 100px;
                height: 140px;
            }

            div {
                width: 130px;
                float: left;
                text-align: center;
            }
        </style>
        <script type="text/javascript" src="../script/jquery-1.7.2.js"></script>
        <script type="text/javascript">
            $(function () {
                //选中添加到右边
                $("button:eq(0)").click(function () {
                    //这里的option根据需求可有可无,表示选中option标签,下面有省略都同理
                    $("select[name=sel01] /*option*/:selected").each(function () {
                        //appendTo() #a.appendTo(b) 把 a 插入到 b 子元素末尾,成为最后一个子元素
                        $(this).appendTo("select[name=sel02]");
                    });
                });

                //全部添加到右边
                $("button:eq(1)").click(function () {
                    $("select[name=sel01] option").each(function () {
                        $(this).appendTo("select[name=sel02]");
                    });
                });

                //选中删除到左边
                $("button:eq(2)").click(function () {
                    $("select[name=sel02]
JQuery图书管理系统 使用JQuery制作一个简易的图书管理系统,实现增删改查,并从数据库中导入数据 阅读详情

相关推荐

【Java - 项目开发】网上书城项目

【网上书城项目】{第一阶段 登录注册的验证(表单验证)} {第二阶段 用户登录和注册功能的介绍}{第三阶段 图书管理}

woailuo8214的博客 1922

javaweb——基于尚硅谷的书城项目实现

第一阶段——表单验证 1、新建一个模块 2、把书城的静态资源拷贝到模块工程下,文件介绍如下: (1)首页 (2)pages 页面,包含不同模块的目录 ——cart 购物车相关 ——manager 后台相关 ——order 订单相关 ——user 用户相关 (3)static 其他的静态资源 3、在static包下引入jquery,并在pages/user/regist下指定jquery所在路径 .. 表示返回上一级目录 //引入jquery <script .

ZENGSIJIA的博客 1335

JavaWeb学习笔记——B站尚硅谷

尚硅谷最新版JavaWeb全套教程资料 JavaWeb学习笔记(1)-B站尚硅谷 一、HTML 001-引课 002-B/S软件的结构 003-前端的开发流程 004-网页的组成部分 005-HTML简介 006-创建HTML文件 007-html的书写规范 008-html标签的介绍 009-html标签的语法 010-html常用标签介绍 (1)font标签 (2)特殊字符 (3)标题标签 (4)超链接标签 (5)列表标签 (6)img标签 (7)表格标签 (8)跨行

m0_52041525的博客 4689

Jquery项目,当当书城,基本功能有实现

JQuery写的,带Java代码,有动态新闻滚动等效果,感兴趣的可以看看

如何导入su_利用GIS快速生成SU场地模型

01|前言:进入2021年了,希望大家也是一个新的开始。告诫自己多写文章多更新,多读点书多旅行。然而元旦由于出去玩了4天,积累了一些事情要处理,一直没有时间好好写点东西。今天给大家带来的分享主题叫“利用GIS快速生成SU场地模型”。相关的视频方法其实B站上也有,但我相信视频很多人都不会看,我自己也是。直接给大家上操作流程。主要的操作步骤是【获取场地的矢量shp文件】—【导入ArcScen...

weixin_33806859的博客 9812

OpenMMLab实战指南:从环境搭建到首个检测模型运行

本文是一份详细的OpenMMLab实战指南,重点介绍了如何从零开始搭建环境并运行首个目标检测模型。内容涵盖Miniconda环境配置、PyTorch与CUDA版本匹配、使用MIM工具安装MMCV和MMDetection的核心步骤,并通过RTMDet-tiny模型演示了完整的推理流程,帮助开发者高效入门这一计算机视觉开源算法体系。

weixin_28678151的博客 155

在linux上本地大模型部署与推理

您的Python脚本(客户端)可能在您的个人电脑上,而模型服务(服务器)在远程Linux服务器上。如果您的服务器有强大的NVIDIA GPU,并且您对性能有更高的要求(例如需要高吞吐量),vLLM是更好的选择。这种方式无需向公网暴露服务器端口,而是通过加密的SSH通道将服务器的端口“映射”到您的本地电脑上。我们将启动一个API服务器,它会加载您指定的模型,并等待您的代码前来调用。如果您直接在SSH窗口运行上面的命令,一旦您关闭窗口,服务就会停止。这是根据您的原始代码修改的版本,适配本地vLLM服务。

frostmelody 全网同名,大家多多关注呀~ 持续分享优质内容! 2052

R语言实战:5分钟搞定NHANES数据库的加权分析与可视化(附完整代码)

本文提供了一份R语言实战指南,帮助研究者在5分钟内完成NHANES数据库的加权分析与可视化。通过详细的代码示例,涵盖数据获取、清洗、加权分析和可视化全流程,特别适合公共卫生和流行病学研究者快速掌握复杂抽样数据的处理方法。

www00的博客 251

GD32F103实战:用ADC+DMA实现高精度多通道电压采集与OLED实时显示(附完整工程)

本文详细介绍了如何利用GD32F103的ADC+DMA技术实现高精度多通道电压采集,并通过OLED实时显示数据。文章包含硬件架构设计、ADC配置技巧、DMA传输优化及显示系统实现方案,提供完整工程代码和调试指南,适用于工业传感器和环境监测设备开发。

weixin_42567497的博客 399

uniapp - 实现 App 端 “半屏幕“ 连续扫码功能,页面只有半个屏幕是扫码框并且可持续连续扫码获取数据(不使用官方 uni.scanCode API,因为无法连续扫码!)详细示例源码插件教程

uniapp app端实现半屏幕扫码,uniapp 扫一扫半个屏幕,uniapp 扫一扫,uniapp持续扫码实现,uniapp怎么自定义扫码和连续扫码,uni-app App端半屏连续扫码,uniapp 扫一扫半个屏幕,uniapp自定义扫码页面样式,实现连续扫码功能(uniapp),uniapp - 实现 App 端 "半屏幕" 连续扫码功能,页面只有半个屏幕是扫码框并且可持续连续扫码获取数据(不使用官方 uni.scanCode API,因为无法连续扫码!)详细示例源码插件教程。

✅ 精选推荐文章 1万+

【C2000系列DSP的Bootloader详解】如何打包源文件为库文件且加密仅授权使用,一步步教你如何实现

如果想要在 TI 的 CCS 开发环境中为 C2000 系列 MCU 生成 lib 库文件,并对这些库文件进行加密保护,确保只有授权方(持有密钥)才能调用和使用,以此保护源代码的知识产权。

昔时扬尘处 176

2026软考中级-软件设计师笔记(送最新视频教程)

核心口诀:运控存输输(运算器、控制器、存储器、输入、输出)例题(2019年上半年):核心公式:数字签名流程:数字证书作用:死锁4个必要条件:死锁判断公式:处理策略:程序设计语言的四大核心成分:顺序表操作(时间复杂度):链表操作(时间复杂度):核心思想:频率高的字符用短编码,频率低的用长编码 → 最小化总编码长度构造步骤(贪心算法):前提:有序表(升序/降序) 步骤:时间复杂度:O(log₂n) 例:查找中核心思想:用哈希函数将关键字映射到存储位置 哈希冲突:不同关键字映射到同一位置 → 用链地址法或开放定址

36万+

WINCC7.3破解文件

WINCC7.3硬件够破解文件,有需要的下载!WINCC7.3硬件够破解文件,有需要的下载!

TMS_WebGMaps_1.9.8.0_Full_Source

TMS_WebGMaps_1.9.8.0_Full_Source 全源码 delphi cbuilder

蓝牙模块HM-10手册

蓝牙模块HM-10手册,该手册对蓝牙模块HM-10进行了详细的介绍和使用方法以及一些AT指令。

上一篇: JavaWeb(3)——jQuery(1)
下一篇: JavaSE测试类使用教程——junit-4.12.jar、hamcrest-core-1.3.jar
自律彭于晏
博客等级 码龄5年 946粉丝 43原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值