JavaScript(2)

news2024/11/24 14:48:08

一、事件

HTML事件是发生在hTML元素上的“事情”。比如:按钮被点击、鼠标移动到元素上等…

事件绑定

  • 方式一:通过HTML标签中的事件属性进行绑定
 <input type="button" value="点我" onclick="on()">
 <script>
      function on(){
          alert("我被点击了");
      }
  </script>
  • 方式二:通过DOM元素属性绑定
 <input type="button" value="点我" id="btn">
 <script>
      document.getElementById("btn").onclick = function(){
          alert("我被点击了");
      }
 </script>

常见事件
在这里插入图片描述

二、BOM

Browser Object Model 浏览器对象模型

window(浏览器窗口对象)

获取:直接使用window,其中window.可以省略
在这里插入图片描述
在这里插入图片描述

setInterval(周期定时器)

var id = window.setInterval(function,time);每隔指定时间执行某函数。time就是间隔时间,单位是毫秒;function就是要执行的函数。

window.clearInterval(id);//清除周期定时器

案例演示:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title></title>
</head>
<body>
    <div id="time"></div>
    <input type="button" value="暂停" onclick="stop()">
    <input type="button" value="继续" onclick="start()">
    <script>
        function getTime(){
            var now = new Date();
            var nowStr = now.toLocaleString();
            var demo = document.getElementById("time");
            demo.innerText = nowStr;
        }
        getTime();
        var id = window.setInterval(getTime,1000);

        function stop(){
            window.clearInterval(id);
        }

        function start(){
            id = window.setInterval(getTime,1000);
        }
    </script>
</body>
</html>

setTimeout(超时定时器)

var id = window.setTimeout(function,time);指定时间后执行某函数。time就是时间,单位是毫秒;function就是要执行的函数。

window.clearTimeout(id);//清除超时定时器

案例演示:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title></title>
</head>
<body>
    <img src="" width="500" style="display: none;" id="xgg">
    <script>
        function showImg(){
            document.getElementById("xgg").style.display = "inline-block";
        }
        var id = window.setTimeout(showImg,2000);
        //window.clearTimeout(id);
    </script>
</body>
</html>

alert(警告框)

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title></title>
</head>
<body>
    <script>
        window.alert("这是个警告");
    </script>
</body>
</html>

confirm(确认框)

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title></title>
</head>
<body>
    <script>
        var res = window.confirm("您确定要删除嘛?");
        console.log(res);
    </script>
</body>
</html>

prompt(提示框)

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title></title>
</head>
<body>
    <script>
        var res = window.prompt("请输入手机号","123747235");
        console.log(res);
    </script>
</body>
</html>

Location(地址栏对象)

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title></title>
</head>
<body>
    <script>
        console.log(location.href);
        location.href = "http://www.baidu.com";
    </script>
</body>
</html>

history(历史记录对象)

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title></title>
</head>
<body>
	
    <input type="button" value="后退" onclick="b()">
    <input type="button" value="前进" onclick="f()">

    <script>
    //要有可前进和可后退的页面,才能前进和后退
        function b(){
            history.back();
        }

        function f(){
            history.forward();
        }
    </script>
</body>
</html>

三、DOM

Document Object Model 文档对象模型
在这里插入图片描述

获取页面元素

在这里插入图片描述
操作页面元素

1、创建dom对象

​ document.createElement(“标签名”);

2、添加dom对象

​ (1)A.appendChild(B) 将B添加到A内部的最后面

​ (2)A.insertBefore(B, C) 将B添加到A内部C的前面

3、删除dom对象

​ (1)A.remove() 将A删除

​ (2)A.removeChild(B) 将A内部的B删除

4、替换dom对象

​ A.replaceChild(B, C) 用B替换A内部的C

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title></title>
</head>
<body>
    <div id="test">
        <h1>这是div里面的标题</h1>
        <p>这是div里面的第一个段落</p>
    </div>

    <script>
        //创建一个能够跳转到淘宝的超链接<a href="http://www.taobao.com">淘宝</a>
        var newEle = document.createElement("a");
        //给新创建的标签的href属性赋值
        newEle.href = "http://www.taobao.com";
        //在新建的标签中添加文本
        newEle.innerText = "淘宝";
        //获取id为test的标签
        var demo = document.getElementById("test");
        //将新建的标签放到id为test的标签中的最后面
        //demo.appendChild(newEle);

        //将新建的标签放到id为test的标签中的p标签的前面
        var p = document.getElementsByTagName("p")[0];
        //demo.insertBefore(newEle,p);

        //将新建的标签放到id为test的标签中替换其中的p标签
        //demo.replaceChild(newEle,p);

        //删除id为test的标签中的p标签
        //demo.removeChild(p);

        //删除id为test的标签
        demo.remove();
    </script>
</body>
</html>

操作元素属性

1、页面元素.属性名 = “值”

2、设置:标签对象.setAttribute(“属性名”,“属性值”);

3、获取:标签对象.getAttribute(“属性名”);

4、删除:标签对象.removeAttribute(“属性名”);

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title></title>
</head>
<body>
    <input type="text" id="username" name="uname" maxlength="6" value="chenwei">

    <script>
        //获取id为username的标签
        var demo = document.getElementById("username");
        //获取该标签value属性的值
        //console.log(demo.value);
        //console.log(demo.getAttribute("maxlength"));

        //设置该标签的value属性的值为mary
        //demo.value = "mary";
        //demo.setAttribute("value","mary");

        //删除该标签的value属性
        demo.removeAttribute("value");
    </script>
</body>
</html>

操作元素样式

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title></title>
    <style>
        #test{
            width: 100px;
            height: 100px;
            background-color: red;
        }
    </style>
</head>
<body>
    
    <div id="test"></div>

    <script>
        var demo = document.getElementById("test");
        //demo.style = "width: 200px;height: 200px;background-color: green;";
        demo.style.width = "200px";
        demo.style.height = "200px"
        demo.style.backgroundColor = "pink";
        demo.style.borderRadius = "50%";
    </script>
</body>
</html>

操作元素内容

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title></title>
</head>
<body>
    
    <div id="test">
        
    </div>

    <script>
        var demo = document.getElementById("test");
        //获取标签中的内容
        //console.log(demo.innerText);        //只获取文本
        //console.log(demo.innerHTML);        //获取所有(包括标签)

        //设置标签的内容
        var str = "<h1>这是div中的p标签</h1>";
        //demo.innerText = str;         //会将字符串中的标签当作文本放进去
        demo.innerHTML = str;           //会将字符串中的标签当作标签放进去
    </script>
</body>
</html>

innerText与innerHTML的区别:
1)获取时,innerText只能获取文本内容,innerHTML不仅能获取文本内容,还能获取标签
2)设置时,innerText会将标签当成文本放进去,innerHTML放进去的标签能被浏览器翻译

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

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

相关文章

C++基础 | 从C到C++快速过渡

一、开发环境 c使用的编译器是g。 vim或者vscodeclionVS 二、C版本的Hello World /*** brief c版本helloworld示例* author Mculover666* date 2023/2/26*/#include <iostream> using namespace std;int main() {int a 1;double b 3.14;char c[] "str…

软件测试用例篇(4)

测试知识回顾: 我们想要根据需求来写测试用例&#xff0c;首先要保证的需求的合理性和正确性&#xff0c;首先要验证需求&#xff0c;需求合理&#xff0c;理解需求&#xff0c;细化需求&#xff0c;把大需求细化成小需求&#xff0c;根据每一个小需求提炼出功能点根据每一个功…

html+css 实现 熊猫样式

效果 html代码 <!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><meta name"viewport" content"widthdevice-width, initial-scale1.0"><meta http-equiv"X-UA-Compatible"…

【MySQL高级篇】第01章 Linux下MySQL的安装与使用

第01章 Linux下MySQL的安装与使用 1. 安装前说明 1.1 查看是否安装过MySQL 如果你是用rpm安装, 检查一下RPM PACKAGE&#xff1a; rpm -qa | grep -i mysql # -i 忽略大小写检查mysql service&#xff1a; systemctl status mysqld.service1.2 MySQL的卸载 1. 关闭 mysql …

工控机ARM工业边缘计算机搭建Node-Red环境

搭建Node-Red环境Node-RED是一个基于Node.js的开源可视化流程编程环境&#xff0c;可以轻松构建自定义应用程序&#xff0c;通过连接简单的节点来完成复杂的任务。Node-RED提供了一种简单的方法&#xff0c;可以快速连接到外部服务&#xff0c;从而实现物联网应用的开发。Node-…

乡村企业门户网站

技术&#xff1a;Java、JSP等摘要&#xff1a;随着时代的发展&#xff0c;电脑与Internet已经进入我们的生活。信息时代的来临&#xff0c;知识经济的扩张&#xff0c;网站已越来越靠近我们的生活。据CNNIC报告显示&#xff0c;中国上网用户有6800万。通过Internet来经营运作一…

寻找时空中的引力波:科学家控制量子运动至量子基态

据英国每日邮报报道&#xff0c;时空织布里的涟漪或可以揭示宇宙在140亿年前是如何产生的&#xff0c;然而寻找这些名为“引力波”的涟漪却一直难以捉摸。现在美国科学家们声称他们发现了改善用于检测宇宙大爆炸的引力波的探测器的方法。 ​宇宙大爆炸残留的引力波 美国加州理…

电脑文件软件搬家迁移十大工具

10 大适用于 Windows 的数据迁移软件。 数据迁移至关重要&#xff0c;几乎所有组织都依赖于此。如果您认为数据传输不是一件容易的事&#xff0c;那么数据迁移软件可以帮上忙。 1、奇客电脑迁移 将现有操作系统、软件、文件迁移到 新电脑的最佳方法之一是使用名为奇客电脑迁移…

SpringMvc快速启动

Spring快速启动 1、tomcat配置 仔细查看下图标记位置配置 添加Tomcat server时选择LocalApplcation server选择Http port与JMX port 2、Project Structure 打开FIle -> Project Structure&#xff0c; 确认WEB-INFO下是否添加了lib&#xff0c;并将.jar包加入lib包中 …

mysql 主从复制 双主双从

master4: 配置 ./etc/my.cnf #主服务器唯一Id server-id4 #启用二进制日志[必填] #log-bin自己mysql的路径/mysqlbin #主机&#xff0c;0:读写,1:只读 read-only0 #忽略不需要同步的数据库 #binlog-ignore-dbmysql #需要同步的数据库:数据库名 binlog-do-dbtest #作为从库…

糖化学类854262-01-4,Propargyl α-D-Mannopyranoside,炔丙基 α-D-吡喃甘露糖苷

外观以及性质&#xff1a;Propargyl α-D-Mannopyranoside一般为白色粉末状&#xff0c;糖化学类产品比较多&#xff0c;一般包括&#xff1a;葡萄糖衍生物、葡萄糖醛酸衍生物&#xff0c;氨基甘露糖衍生物、半乳糖衍生物、氨基半乳糖衍生物、核糖衍生物、阿拉伯糖衍生物、唾液…

童流感诊治最新共识,专家全面解读

流感高发季节已经到来&#xff0c;孩子们接种疫苗吗&#xff1f;流感是人类面临的主要公共健康问题之一&#xff0c;儿童是流感的高危人群和严重病例的高危人群。近日&#xff0c;中华医学会呼吸病学年会第22届全国呼吸病学学术会议在福建厦门召开。会上&#xff0c;首都医科大…

Vue(1)-vue核心

1.Vue核心 【课程链接】 目录1.Vue核心1.1.Vue介绍1.1.1.官网1.1.2.介绍与描述1.1.3.Vue 的特点1.1.4.与其它 JS 框架的关联1.1.5.Vue 周边库1.2.初识vue1.3.Vue模板1.4.数据绑定1.5.el和data的两种写法1.6.MVVM模型1.7.数据代理1.7.1.回顾Object.defineProperty方法1.7.2.理解…

C++单例模式实现

目录 1.提出的需求 ​​​​​​​2.如何定义一个类&#xff0c;使得这个类最多只能创建一个对象&#xff1f; ​​​​​​​3.代码 ​​​​​​​4.小结 C/CLinux服务器开发/后台架构师【零声教育】-学习视频教程-腾讯课堂 ​​​​​​​1.提出的需求 在架构设计时&am…

有什么比较好的bug管理工具?5款热门工具推荐

工具再优秀&#xff0c;适合自己才最重要。 为尽量讲透这个问题&#xff0c;本文的行文结构我先整理如下&#xff1a; 1、为什么需要bug管理工具&#xff1f; 2、好的bug管理工具的标准是什么&#xff1f; 3、好的bug管理工具推荐&#xff08;5款&#xff09; 4、如何挑选适合…

【SpringCloud】SpringCloud教程之Nacos实战(一)

目录Nacos是什么&#xff1f;一.Nacos下载二.安装Nacos三.Nacos原理四.Nacos快速入门五.Nacos服务多级存储模式六.Nacos根据集群设置负载均衡1.根据同集群优先访问2.根据权重配置负载均衡七.Nacos的环境隔离八.Nacos和Eureka的区别前提&#xff1a;以订单服务和用户服务为例&am…

HyperLPR3车牌识别-Android使用:SDK编译与部署

简介HyperLPR在2023年初已经更新到了v3的版本&#xff0c;该版本与先前的版本一样都是用于识别中文车牌的开源图像算法项目&#xff0c;最新的版本的源码可从github中提取&#xff1a;https://github.com/szad670401/HyperLPRAndroid SDK for HyperLPR3说明HyperLPR3的官方源码…

最深情的告白——郁金香(Python实现)

目录 1 最深情的告白 2 即兴赞之 2.1 李小白言郁金香 2.2 郁金香般的姑娘 2.3 荷兰的郁金香 3 Python代码实现 3.1 郁金香的芬芳 3.2 我俩绚丽多姿的风景 1 最深情的告白 曾经以为&#xff0c;她爱玫瑰&#xff0c;然后我画了好几种&#xff1a; 花仙子——玫瑰&a…

钉钉、企业微信和飞书向“钱”看

在急剧变革的时候&#xff0c;不管黑猫白猫&#xff0c;要抓到老鼠才算好猫。如今&#xff0c;各互联网企业早已进入降本增效的新阶段。勒紧裤腰带过日子之下&#xff0c;能不能盈利、商业化空间有多大&#xff0c;就成为各个业务极为重要的考核指标。在各业务板块中&#xff0…

【JavaSE】逻辑控制语句

文章目录一. 顺序结构二. 分支结构1. if 语句2. switch 语句3、循环结构3.1 while 循环3.2 do while 循环3.3 for 循环3.4 break 和 continue三. 输入输出1. 输出到控制台2. 从键盘输入一. 顺序结构 顺序结构比较简单&#xff0c;即程序按照代码书写的顺序一行一行执行下去。 …