html中js方法中如何传递本元素对象,JS HTML DOM (文档对象模型)

DOM简介

当网页加载时,浏览器会创建页面的文档对象模型(DOM)。通过DOM,JS可以对HTML实现以下操作:

改变页面中的所有HTML元素。

改变页面中的所有HTML属性。

改变页面中的所有CSS样式。

对页面中的所有事件作出反应。

DOM HTML

获得HTML属性的三种方式

通过id查找HTML元素

x=document.getElementById("intro");

document.write("

文本来自 id 为 intro 段落: " + x.innerHTML + "

");

通过标签名找到元素

//查找id为main的元素

var x=document.getElementById("main");

//查找该元素中所有

元素,返回的为一个数组

var y=x.getElementsByTagName("p");

document.write('id="main"元素中的第一个段落为:' + y[0].innerHTML);

通过类名查找元素

x=document.getElementsByClassName("intro");

document.write("

文本来自 class 为 intro 段落: " + x[0].innerHTML + "

");

改变HTML输出流

js能够创建动态的HTML内容,比如动态获取当前时间等

使用document.write()可用于直接向HTML输出流写内容

document.write(Date());

改变HTML内容

修改HTML内容最简单的方法是使用innerHTML属性

document.getElementById("p1").innerHTML="新文本!";

改变HTML属性

改变HTML属性可以套用以下模板

document.getElementById(id).attribute=新属性值

使用实例如下

//改变img的src属性

document.getElementById("image").src="landscape.jpg";

改变HTML样式

改变HTML样式可以使用以下语法

document.getElementById(id).style.property=新样式

使用实例

document.getElementById("p2").style.color="blue";

document.getElementById("p2").style.fontFamily="Arial";

document.getElementById("p2").style.fontSize="larger";

HTML事件

HTML事件类型

HTML有诸如以下几种事件类型

当用户点击鼠标时

当网页已加载时

当图像已加载时

当鼠标移动到元素上时

当输入字段被改变时

当提交HTML表单时

当用户触发按键时

...

..

HTML事件属性

如需监听HTML元素的事件,可以使用事件属性进行分配

//监听button元素的onClick事件

点这里

使用HTML DOM来分配事件

HTML DOM允许使用js来向HTML元素分配事件

//向button元素分配onClick事件

//并将displayDate函数分配给id=“myBtn”的HTML元素

document.getElementById("myBtn").οnclick=function(){displayDate()};

onload和onunload事件

onload和onunload会在用户进入或离开页面时被触发,可用于检测访问者的浏览器类型和浏览器版本,并基于这些信息来加载网页的正确版本。也可用于处理cookie

//

onchange事件

onchange事件常结合对输入字段的验证来使用

//当用户改变输入字段的内容时,调用upperCase()函数

onmouseover和onmouseout事件

onmouseover和onmouseout事件可用于在用户的鼠标移至HTML元素上方或移出元素时出发函数

Mouse Over Me

function mOver(obj){

obj.innerHTML="Thank You"

}

function mOut(obj){

obj.innerHTML="Mouse Over Me"

}

onmouseDown、onmouseup、以及onclick事件

这三个事件构成了鼠标点击事件的所有部分、当点击鼠标按钮时,会出发onmousedown事件,当释放鼠标时会触发onmouseup事件,最后,当完成鼠标点击时,会触发onclick事件。

DOM EventListener

addEventListener()方法

用处

1. 用于向元素添加事件监听

2. 一个元素可以添加多个监听事件

3. 可以向同个元素添加多个同类型的监听事件,比如:两个onclick事件。

4. 可以向任何DOM对象添加事件监听,不仅仅是HTML元素,比如:window对象。

5. 可以更简单的控制事件(冒泡与捕获)

6. 使用addEventListener()方法时,javascript从HTML标记中分离开来,可读性更强,在没有控制HTML标记时也可以添加事件监听。

7. 可以使用removeEventListener()方法来移除事件的监听。

语法

//第一个参数是事件类型(如click或mousedown)

//第二个参数是事件触发后调用的函数

//第三个参数是布尔值,用于描述事件是冒泡还是捕获。该参数是可选的,默认为false,冒泡传递

element.addEventListener(event, function, useCapture);

实例

//当用户点击按钮时触发监听事件

document.getElementById("myBtn").addEventListener("click", displayDate);

向原元素添加事件句柄

实例1: 当用户点击元素时弹出“hello world”

element.addEventListener("click", function(){ alert("Hello World!"); });

实例2: 使用函数名,来引用外部函数

//当用户点击元素时弹出helloworld

element.addEventListener("click", myFunction);

function myFunction() {

alert ("Hello World!");

}

向同一元素添加多个事件句柄

向同个元素添加多个同种类型事件,注: 不会覆盖已存在的事件

element.addEventListener("click", myFunction);

element.addEventListener("click", mySecondFunction);

向同个元素添加多个不同类型事件

element.addEventListener("mouseover", myFunction);

element.addEventListener("click", mySecondFunction);

element.addEventListener("mouseout", myThirdFunction);

向window对象添加事件句柄

addEventListener()方法允许向HTML DOM对象添加事件监听。HTML DOM对象如: HTML元素,HTML文档,window对象,或者其他支出的事件对象如: xmlHttpRequest对象。

//当用户重置窗口大小时添加事件监听

window.addEventListener("resize", function(){

document.getElementById("demo").innerHTML = sometext;

});

传递参数

当传递参数时,使用“匿名函数”调用带参数的函数

element.addEventListener("click", function(){ myFunction(p1, p2); });

事件的冒泡传递和捕获传递

事件传递有两种方式: 冒泡或捕获,这两种事件传递定义了元素事件触发的顺序。

比如: p元素插入到 div 元素中,用户点击 p 元素, 哪个元素的 "click" 事件先被触发呢?

在冒泡传递中内部事件会先被触发,然后再触发外部元素。

在捕获传递中外部元素事件会先被触发,然后才会触发内部元素的事件

removeEventListener()方法

removeEventListener()方法移除由addEventListener()方法添加事件的句柄。

element.removeEventListener("mousemove", myFunction);

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

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

相关文章

计算机专业的三行情书,各专业三行情书,看懂你就是全能学霸!

导读你所在的专业有哪些三行情书?你说工科的我不解风情,我说我愿意用我的专业写三行情书,读给你听。先等等,等我看明白了再给你答复。四川师范大学晒出了不少三行情书:仔细读,很多都用上了专业梗&#xff0…

数组二分查找

/** 数组二分查找 必须是有序数组,找到返回索引,否则返回-1 */ public class ArrIndex { public static void main(String[] args) { int[] arr new int[]{1, 2, 3, 4, 5, 6, 7, 8, 9, 10}; int number 5; int index getArrIndex(arr, number); Syst…

评价微型计算机总线的性能指标,计算机组成原理学习笔记(3):总线

文章目录课程笔记导览附录:英语解释第三章 总线3.1 总线的基本概念使用总线的原因:总线的定义总线上信息的传送总线结构举例单总线结构面向CPU的双总线结构以存储器为中心的双总线结构框图3.2 总线的分类3.3 总线性能及性能指标总线物理实现总线特性总线…

html dom 替换节点,替换 从javascript dom文本节点

我使用javascript处理xhtml。我得到一个div节点的文本内容,通过连接所有子节点的nodeValue,其中nodeType Node.TEXT_NODE。生成的字符串有时包含一个不间断的空格实体。如何用常规空格字符替换它?我的div看起来像这样…Expires On Sep 30, 2…

给定一个整数数组 nums 和一个整数目标值 target,请你在该数组中找出 和为目标值

/*** 给定一个整数数组 nums 和一个整数目标值 target,请你在该数组中找出 和为目标值* 的那 两个 整数,并返回它们的数组下标。* 你可以假设每种输入只会对应一个答案。但是,数组中同一个元素在答案里不能重复出现。* 你可以按任意顺序返回答…

html键盘制作,HTML手写键盘(一)

HTML手写键盘 (单密码框)先上图粘贴图片.png大致原理:先用css画出整个键盘 ,并没有input框,如果使用input实现效果,则需要多个input,这样的后果是需要多次调用键盘,影响整体的体验,用ul li画出密…

HTML简单注册页面

<!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><title>登录注册</title> </head> <style>body {background-color: cornsilk;}.center {text-align: center;background-color: cadetblue;…

职专计算机怎么学,浅析职业中专计算机专业计算机教学

【摘 要】 目前职业中专学校计算机专业存在着学生素质不高、课程结构不合理、考核形式单一等影响自身发展的因素。要想在发展的大趋势中争得自身生存和发展的空间&#xff0c;不断缩短与社会需求的差距&#xff0c;职业中专计算机教学改革势在必行。【关键词】 职专计算机 教学…

登录页面

<!doctype html> <html><head><meta charset"utf-8"><title></title></head><link rel"stylesheet" href"../css/登录页面.css" /><body><form action"#" method"get&…

编程题【Math类】计算类

/*** ## 编程题【Math类】* 参考API文档完成下面需求&#xff1a;* 编程进行以下运算&#xff1a;* 请计算3的5次幂* 请计算3.2向上取整的结果* 请计算3.8向下取整的结果* 请计算5.6四舍五入取整的结果*/ public class Demo1 {public static void main(String[] args) {//请计算…

计算机网络的定义功能和分类,计算机网络的定义和分类.ppt

计算机网络的定义和分类.ppt一.计算机网络定义1.计算机网络 目的 在于实现资源共享和信息交流。 关键点 地理上分散 独立功能 通信系统 资源 信息交流 一.计算机网络定义2.分布式系统 透明(transparent) 指某物或某种机制的存在不为观察者所察觉&#xff0c;看上去象不存在一样…

编程题【System类】计算一千万个数添加到集合的时间

import java.util.ArrayList;/*** ## 编程题【System类】* <p>* 请定义一个集合,并将1至1千万这1千万个数字添加到集合中* &#xff0c;计算这个行为运行的时间&#xff0c;并打印。*/ public class Demo1 {public static void main(String[] args) {//起始时间long star…

在计算机网络术语中wan的中文意思是什么,男生聊天中wan是什么意思 wan是什么的缩写...

在聊天的过程中&#xff0c;有的人喜欢发“wan”&#xff0c;这是晚安的意思吗&#xff1f;还是其他的意思&#xff1f;男生聊天中wan是什么意思&#xff1f;wan是什么的缩写&#xff1f;男生聊天中wan是什么意思&#xff1a;wan是“玩”、“晚安的晚”等字的拼音&#xff0c;根…

inputstream读取html乱码,java InputStream 读取汉语言内容的解决乱码

java InputStream 读取中文内容的解决乱码String suffixfile.substring(file.lastIndexOf(.)1,file.length());if("zip".equals(suffix)){try {InputStream insnew FileInputStream(new File(file)); //URLConnection .getInputStream();ZipInputStream zipInput ne…

求以下double数组的平均值(四舍五入保留两位小数):

import java.math.BigDecimal;/*** 求以下double数组的平均值(四舍五入保留两位小数)&#xff1a;* double[] arr {0.1,0.2,2.1,3.2,5.56,7.21};*/ public class Demo1 {public static void main(String[] args) {double[] arr new double[]{0.1, 0.2, 2.1, 3.2, 5.56, 7.21}…

在下列计算机应用项目中,属于过程控制应用领域的是,计算机基础试题.ppt

计算机基础试题计算机基础试题 选择题 1.世界上第一台电子数字计算机取名(??c??)。 A.UNIVAC????B.EDSAC????C.ENIAC????D.EDVAC 2.操作系统的作用是(??c??)。 A.把源程序翻译成目标程序(编译器)??????? B.进行数据处理 C.控制和管理系统资源的使用…

Arrays对数组,二分查找,冒泡排序

import java.util.Arrays;/*** 已知数组如下:* int[] arr {431,54,25,25,26,45,2,4,65,3,64,6,46,7,54};* 1:使用Arrays对数组元素进行排序并打印排序后的结果&#xff1b;* 2:使用二分法查找元素&#xff1a;2&#xff0c;并打印查询结果&#xff1b;* 3:使用二分法查找200&a…

北理计算机网络实验汇编,北理计算机与网络实验(II)(汇编语言实验4).docx

本科实验报告实验名称&#xff1a; 实验四 分支和循环实验课程名称&#xff1a;计算与网络实验(II)实验时间&#xff1a;任课教师&#xff1a;实验地点&#xff1a;10-102实验教师&#xff1a;高平实验类型&#xff1a;■ 原理验证□ 综合设计□ 自主创新学生姓名&#xff1a;学…

递归计算从1到100之间的所有数之和。

/*** ## 编程题【递归】* <p>* 请使用递归计算从1到100之间的所有数之和。*/ public class demo5 {public static void main(String[] args) {int num getSum(100);System.out.println(num);}/*** 递归计算从1到100之间的所有数之和。*/private static int getSum(int i…

l那是计算机房吗,机房承重能力计算

承重能力的简易计算&#xff1a;对于一个跨度为L&#xff0c;均布荷载为q的机房&#xff0c;将其简化为下图所示受力结构&#xff1a;1.反力l 反力&#xff1a;在一点上合力为零和力矩为零l ∑M0l ∑F 0l 均布荷载下&#xff1a;反力QL/22.弯矩l 弯矩是受力构件截面上的内力的一…