web学习笔记(二十三)

目录

1.增加节点

1.1document.write

1.2innerHTML

1.3动态添加  

1.4追加和插入节点

2.删除、克隆、替换节点

2.1删除节点

2.2克隆节点

2.3替换节点

3.事件

3.1什么是事件

3.2事件三要素

3.3事件的种类

3.4常见事件名称(类型)汇总

4.操作元素的属性

4.1修改和获取属性三种方法汇总

4.2常用DOM属性汇总

4.3改变元素内容

4.4表单元素的属性操作

4.5样式属性操作


1.增加节点

1.1document.write

document.write(' 标签名 ');

document.write('<h3></h3>');

1.2innerHTML

节点.innerHTML=' 标签名 ';

这种方式有覆盖性, 不推荐单独使用。

1.3动态添加  

var 标记= document.createElement('标签名');

添加完节点后需要将节点放到指定位置才能被我们正常使用。因此通常将添加语句和追加语句结合使用。

           var b_tr = document.createElement('tr');// 添加trtbody.appendChild(b_tr);// 在tbody里面追加tr

1.4追加和插入节点

(1)追加节点 : 父节点.appendChild(子节点)(向子节点列表的末尾添加新的子节点)

(2)插入节点 父节点.insertBefore(新节点,旧节点);(会将新节点添加在旧节点后面)

2.删除、克隆、替换节点

2.1删除节点

父节点.removeChild(子节点)

2.2克隆节点

var cnode=node.cloneNode(true);

括号里面可以写true或者false,默认是false,true可以把内容一块克隆了,false只能克隆标签。

2.3替换节点

 父节点.replaceChild(新节点,已存在的节点)

3.事件

3.1什么是事件

       JavaScript使我们有能力创建动态页面,而事件是可以被JavaScript侦测到的行为(就是触发响应机制)。网页中的每个元素都可以产生某些可以触发JavaScript的事件,例如,我们可以在用户点击某按钮时产生一个 事件,然后去执行某些操作。

3.2事件三要素

  1. 事件源(触发事件的元素)。
  2. 事件名称(类型)
  3. 事件的处理程序(就是一个函数,函数内部写入这个事件要做什么)。

3.3事件的种类

(1)传统事件(简单但不利于团队合作,和html没有完全分离,多次添加重复事件会覆盖)

   <button onclick="text1()"></button>

(2)脚本模型----现代事件    (利于团队合作,on+事件名称)

格式:btn.οnclick=function(){}或者

btn.οnclick=show;(此处函数名后不加括号)

        function show(){

        }

  <button id="btn">脚本模型点击</button><script>function text1() {console.log('单击事件已被执行');// 此处不建议用document.write('')输出,页面会重绘,就不显示按钮的存在了}var btn=document.querySelector('#btn');btn.onclick=function(){}// 或者btn.onclick=text1;//注意函数名后不能加括号// 此方法不足的地方,同样的注册事件只能添加一次,多次添加会覆盖</script>

        (3)新事件   w3c事件(加同样注册事件可以注册多个监听器,然后按照多个注册顺序依次执行)

兼容性注册(绑定、添加)事件解绑(删除)事件

ie9+

 btn.addEventListenter('click',function(){},false)  或者 btn.addEventListenter('click',函数名,false)   false可以省略,表示冒泡机制

       

 btn.removeEventListenter('click',函数名);

ie8

 btn.attachEvent('onclick',function(){})

btn.detachEvent('onclick',function(){});

兼容所有版本

btn.οnclick=function(){}

 btn.οnclick=null;

3.4常见事件名称(类型)汇总

鼠标事件触发条件
 onclick  单击
onmouseover  鼠标经过(有冒泡机制)
onmouseout  鼠标离开(有冒泡机制)
onmouseenter  鼠标进入
onmouseleave  鼠标离开
        onmousedown  鼠标按下
  onmousemove    移动鼠标
onmouseup   释放鼠标
   onfocus    获取焦点
 onblur    失去焦点

4.操作元素的属性

4.1修改和获取属性三种方法汇总

(1)方法一:

         修改:节点对象.属性名=属性值;

         获取:  var 变量= 节点对象.属性名;

(2)方法二:

         修改:节点对象[属性名]=属性值;

         获取:  var 变量=节点对象[属性名];

(3)方法三:自定义属性

                   节点对象.setAttribute(属性名,属性值)

                     var 变量=  节点对象.getAttribute(属性名)

4.2常用DOM属性汇总

HTML标记的属性  DOM元素属性
src、alt、id、style...src、alt、id、style...
classclassName
forhtmlFor

4.3改变元素内容

(1)改变内容(文字)

    node.innerText='值'

    .innerText这个方法没有解析标记的能力,对原来的内容有覆盖性,但它去除html标签,同时去掉空格和换行。

    (2)改变内容和标签

     node. innerHTML='值'

    innerHTML 对原来的内容有覆盖性,会将标签内所有内容都打印出来,包括html标签,同时保留空格和换行。

4.4表单元素的属性操作

(1)通过value值来操作

        type='text/password/file/submit/reset' 和多行文本框textarea还有选择框select可以通过取出value的值来进行操作。如果有value就取value中的值,当 value='' " 取出为空,如果没有就取出输入框中的值。

(2)通过checked值来操作 

   单选钮和复选框可以通过checked来操作。eg:  radio.checked=true;  此时,选中时true,未选中是false.

(3)通过disabled(按钮是否禁用)值来操作

    按钮可以设置disabled值来完成一些操作。此时, true是按钮不可用  false 是按钮可用。

4.5样式属性操作

      我们可以通过.style和.className这两种方式来修改元素大小、颜色等样式。其中element. style是 行内样式操作。element. className 是类名样式操作,可以用来修改元素的类名。

(1)设置或修改样式(只有一种方法)

   dom节点.style.样式名=样式值;(此时设置的样式都是行内样式,优先级比较高)注意:在js里面修改的样式采用驼峰命名法

element.style.textAlign=center

(2)获取样式(两种方法)

      方法一(只能获取行内样式):var stylev=dom节点.style.样式名;

      方法二(行内和外部都可以渠道,只读属性): window.getComputedStyle(dom节点对象,null).样式名  ( window.getComputedStyle(dom节点对象,伪类).样式名可以取到伪类的样式)

<body><div id="box"></div><script>var box = document.querySelector('#box');box.style.width='200px';box.style.height="200px";box.style.backgroundColor='#333';box.style.margin='auto';var w1=box.style.width;console.log(w1);var h1=window.getComputedStyle(box,null).height;console.log(h1);</script>
</body>

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

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

相关文章

代码随想录算法训练营第三十四天| 860.柠檬水找零, 406.根据身高重建队列 ,452. 用最少数量的箭引爆气球

860.柠檬水找零 - LeetCode 思路&#xff1a; 这个问题比较简单&#xff0c; 用一个字典bill_dict记录已经收到的钱已经钱的数量&#xff0c; 然后如果收到五元&#xff0c; 字典中的 bill_dict[5] 1。 收到10元 bill_dict[5] - 1 bill_dict[10] 1 。 麻烦的是收到20元&…

图像剪辑|Linux|ImageMagick的初步使用--素描,毛玻璃等特效

前言&#xff1a; ImageMagick在图像剪辑领域的地位基本等同于FFmpeg&#xff0c;和FFmpeg基本一样&#xff0c;在Linux下使用此工具的原因是该工具可以使用shell脚本批量剪辑&#xff0c;在Windows下就会比较麻烦一些了 那么&#xff0c;本文主要是记录一下ImageMagick的一些…

论文阅读:基于超像素的图卷积语义分割(图结构数据)

#Superpixel-based Graph Convolutional Network for Semantic Segmentation github链接 引言 GNN模型根据节点特征周围的边来训练节点特征&#xff0c;并获得最终的节点嵌入。通过利用具有不同滤波核的二维卷积对来自附近节点的信息进行整合&#xff0c;给定超像素方法生成的…

汽车上的各种质量:整备质量、总质量、装载质量、簧上质量

文章目录 前言一、整备质量二、额定总质量三、额定装载质量四、簧上质量 总结 前言 一、整备质量 整备质量指的是汽车按照出厂技术条件完全配备&#xff08;包括备胎、工具、各种油水等&#xff09;的质量。汽车的整备质量也就是人们常说的一辆汽车的自重&#xff0c;它的规范…

MATLAB--pie函数绘制复杂分类饼图(2)--附案例代码

MATLAB–pie函数绘制复杂分类数据的饼状图 目录 MATLAB--pie函数绘制复杂分类数据的饼状图摘要1. 问题描述2. 具体步骤&#xff1a;3. 绘制结果4. 小结 摘要 在数据可视化中&#xff0c;饼状图是一种常用的展示分类数据的方式。之前&#xff0c;文章介绍了使用MATLAB绘制饼状图…

数据删除

目录 数据删除 删除员工编号为 7369 的员工信息 删除若干个数据 删除公司中工资最高的员工 Oracle从入门到总裁:​​​​​​https://blog.csdn.net/weixin_67859959/article/details/135209645 数据删除 删除数据就是指删除不再需要的数据 delete from 表名称 [where 删…

群晖Synology Drive服务搭建结合内网穿透实现云同步Obsidian笔记文件夹

&#x1f308;个人主页: Aileen_0v0 &#x1f525;热门专栏: 华为鸿蒙系统学习|计算机网络|数据结构与算法 ​&#x1f4ab;个人格言:“没有罗马,那就自己创造罗马~” #mermaid-svg-ebec69DBjtGk7apF {font-family:"trebuchet ms",verdana,arial,sans-serif;font-siz…

C++字典操作

创建字典 #include<iostream> #include<map> #include<string>using namespace std;int main(){map<string, int> mymap;}赋值 2.1 指定元素赋值 mymap["abc"] 1;2.2 添加键值对 mymap.insert(make_pair("bcd", 2));字典的顺序…

后端传给前端的时间字段前端显示不正确

具体问题是什么呢&#xff0c;就比如我后段有一个字段是TimeStamp类型&#xff0c;从数据库中查出数据是下面的样式&#xff1a; 但是前端显示的是下面的格式&#xff1a; 这个的解决方法还是挺多的&#xff0c;那接下来具体来看看吧~ 第一种&#xff1a; 在application.prop…

Linux使用bcache 将SSD加速硬盘

前言 在Linux下&#xff0c;使用SSD为HDD加速&#xff0c;目前较为成熟的方案有&#xff1a;flashcache&#xff0c;enhanceIO&#xff0c;dm-cache&#xff0c;bcache等&#xff0c;多方面比较以后最终选择了bcache。 bcache 是一个 Linux 内核块层超速缓存。它允许使用一个或…

Flink 面试题总结及答案

基础 state的分类 key state和operate state state 的重分布 Flink状态管理详解&#xff1a;Keyed State和Operator List State深度解析 - 掘金 checkpoint 和save point https://zhuanlan.zhihu.com/p/79526638 flink job 的容错策略 如果在没有持续消息输出的情况下&…

19.AUTOSAR MCAL分析(一):Microcontroller Driver

目录 1. MCAL概述 2. Microcontroller Drivers 2.1 MCU Drivers 2.2 GPT Driver 2.3 WatchDog Driver 2.4 CoreTest 3.小结 <

【短时交通流量预测】基于单层BP神经网络

课题名称&#xff1a;基于单层BP神经网络的短时交通流量预测 版本时间&#xff1a;2023-04-27 代码获取方式&#xff1a;QQ&#xff1a;491052175 或者 私聊博主获取 模型简介&#xff1a; 城市交通路网中交通路段上某时刻的交通流量与本路段前几个时段的交通流量有关&…

Android 自定义组件

在 Android 开发中&#xff0c;有时我们需要创建自定义的 UI 组件以满足特定的需求&#xff0c;这就是 Android 自定义组件的用途。在这篇博客中&#xff0c;我们将介绍如何创建和使用自定义组件&#xff0c;并以一个标题栏组件为例进行说明。 什么是自定义组件&#xff1f; …

【CSP试题回顾】201312-3-最大的矩形

CSP-201312-3-最大的矩形 解题思路 1. 遍历所有可能的矩形高度&#xff1a; 通过遍历所有矩形高度来找到最大的矩形&#xff0c;即对每个可能的高度 it&#xff08;从直方图中的最小高度到最大高度 heightMax&#xff09;&#xff0c;代码将尝试找到在这个高度或以上的最长连…

软件测试相关介绍

什么是软件测试&#xff1f; 软件测试&#xff1a;使用技术手段验证软件是否满足使用需求 软件测试是指通过运行、评估和验证软件系统的过程&#xff0c;以确定其是否满足预期的需求和质量标准。它是软件开发生命周期中的一个重要环节&#xff0c;旨在发现和修复潜在的缺陷和…

前端错误 “TypeError Cannot read properties of undefined (reading ‘xxx‘)

前端错误 “TypeError: Cannot read properties of undefined (reading ‘xxx‘) 原因分析及解决 情况一&#xff1a; 出现该错误的原因是因为你花括号中的某些属性未定义。极大可能是因为你写错了属性名称 情况二&#xff1a; 异步请求获取数据时&#xff0c;语句可能写错&…

Linux操作系统——进程信号

1.信号的概念 生活当中哪些场景算信号呢&#xff1f;比如说你晚上调了个闹钟&#xff0c;然后第二天早上你听到了闹钟响了你就知道该起床了&#xff0c;这种机制就叫做信号机制。在生活中我们的信号是非常非常多的&#xff0c;比如说有&#xff1a;红绿灯&#xff0c;下课铃声…

Java中多线程的各种姿势

在Java中&#xff0c;多线程编程是一种强大的并发编程技术&#xff0c;可以让你同时执行多个任务。Java提供了多种方式来创建和管理线程。以下是Java中给多线程使用的一些主要方法&#xff1a; 继承Thread类&#xff1a; 创建一个新的类继承自Thread类。覆盖run()方法以定义线程…

爬虫案例一

首先我举一个案例比如豆瓣电影排行榜 (douban.com)这个电影&#xff0c;首先我们进去检查源代码 说明源代码有&#xff0c;说明是服务器渲染&#xff0c;可以直接那html 但是返回的结果是空&#xff0c;所以我们需要在头里面加上User-Agent 然后可以看到有返回的结果&#xff0…