JavaScript的dom基础知识

一、dom概念

概念:DOM全称Document Object Model(文档对象模型),是一种用于HTML和XML文档的编辑接口,给文档提供可一种结构化的表示方法,可以修改文档的内容和结构,DOM开发中主要用于操作元素

二、获取元素

1.根据id获取

getElementById 返回元素对象(获取到匹配的第一个元素)

var boxDom = document.getElementById('box')

2.根据类名获得

getElementByClassName 返回元素的对象集合

var titleDom = document.getElementsByClassName('title')

3.通过标签名获取

通过标签名获取,返回带有指定标签名的对象集合 getElementByTagName

     var pDom = document.getElementsByTagName('p')

4.选择器获取

  • 获取指定元素的第一个对象

    document.querySelector('选择器')

  • 获取指定元素对象集合

    document.querySelectorAll('选择器')

5.特殊元素获取

获取body

var bodyDom = document.body

获取html


var htmlDom =document.documentElement;

三、事件

1.dom事件类型

这里以click事件为例

 var btn = document.querySelector("button");btn.onclick = function () {};

2.dom.addEventListener事件类型

 var divDom = document.querySelector(".box");console.log(divDom);divDom.addEventListener("click", function () {});

3.<标签名 οnclick="方法">确定</标签名>

<标签名 onclick="方法">确定</标签名>
<script>function divClick() {alert("别骂了别骂了");}
</script>

四、操作元素

:JavaScript的DOM操作可以改变网页内容、结构和样式,我们可以利用Dom操作元素来改变元素里面的内容、属性等.

事件和操作元素都是对标签进行操作的

1.改变获取元素的内容

  • 修改获取文本内容

    innerText

  • 修改获取标签文本

    innerHTML

var title = document.querySelector('h1')var btn = document.querySelector('button')btn.onclick = function(){title.innerText = '<a href="">别笑了</a>'title.innerHTML = '<a href="">别笑了</a>'console.log(title.innerHTML);console.log(title.innerText);}

2.修改获取元素属性

dom.属性名 = 修改值

3.修改样式属性

dom.style.样式属性 = 值

适用于较少的样式修改

4.使用className修改样式属性

dom.className = ' 值 '

5.HTML标签自定义属性

目的:为了保存属性并使用的数据

  • 设置属性:setAttribute('属性名','值')
  • 获取属性getAttribute('属性名')

五、节点操作

每个html元素是元素节点,html元素内的文本是文本节点,每个html属性是属性节点

parentNode

获取最近的父节点

childNodes

获取所有的子节点

firstElementChild

获取第一个子节点

lastElementChild

最后一个子节点

previousElementSibling

上一个兄弟

nextElementSibling

下一个兄弟

1.创建节点

document.createElement("标签名")

var  newli = document.createElement("li");

2.添加节点

添加的位置.appendChild(添加的节点)

3.删除节点

选择.removeChild(节点)

4.复制节点/克隆节点

cloneNode(true):克隆整个节点包括里面的内容

cloneNode(false):

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

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

相关文章

幻兽帕鲁越玩越卡,内存溢出问题如何解决?

近期幻兽帕鲁游戏大火&#xff0c;在联机组队快乐游玩的同时&#xff0c;玩家们也发现了一些小问题。由于游戏有随机掉落材料的设定&#xff0c;服务器在加载掉落物的过程中很容易会出现掉帧、卡顿的情况。某些玩家甚至在游戏1&#xff5e;2时后就出现服务器崩溃的情况&#xf…

代码随想录算法刷题训练营day18

代码随想录算法刷题训练营day18&#xff1a;LeetCode(257)二叉树的所有路径、LeetCode(404)左叶子之和 LeetCode(257)二叉树的所有路径 题目 代码 import java.util.ArrayList; import java.util.List;/*** Definition for a binary tree node.* public class TreeNode {* …

代码小技巧

1、秒换算小时&分钟 int Time; int Hour,Minutes; HourTime/3600;//小时 Minutes(Time/60)%60;//分钟 Minutes(Time%3600)/60;//分钟 2、C当中比较大小 法一&#xff1a;利用库函数 int main() {int array[] { 5, 2, 9, 1, 7 }; cout << "最大值: "…

STP生成树协议实验

实验大纲 一、什么是生成树协议 二、生成树原理 1.STP工作原理 2.STP主要参数 3.STP根网桥 4.STP协议版本 三、实验 1.构建网络拓扑结构图 2.配置IP地址&#xff08;8台PC机&#xff09;&#xff1a;192.168.7.1~192.168.7.8 3.配置SW1 4.配置SW2 5.配置SW3 6.配置…

C++ 数论相关题目 求组合数IV

输入 a,b &#xff0c;求 Cba 的值。 注意结果可能很大&#xff0c;需要使用高精度计算。 输入格式 共一行&#xff0c;包含两个整数 a 和 b 。 输出格式 共一行&#xff0c;输出 Cba 的值。 数据范围 1≤b≤a≤5000 输入样例&#xff1a; 5 3 输出样例&#xff1a; 10 #…

蓝桥杯省赛无忧 课件51 第6次学长直播带练配套课件

01 最小的或运算 02 简单的异或难题 03 出列 04 异或森林 05 位移 06 笨笨的机器人 07 迷失的数 08 最大通过数

vue常用指令(v-mode)

一、v-mode 指令 作用: 获取和设置表单元素的值(实现双向数据绑定) 双向数据绑定 单向绑定: 就是把Model绑定到View&#xff0c;当我们用JavaScript代码更新Model时&#xff0c;View就会自动更新。双向绑定: 用户更新了View&#xff0c;Model的数据也自动被更新了&#xff0c;…

python中for循环的几个现象

1. 运行如下代码 l [{}, {}, {}] for k in l:k[1] 1 print(l) 输出为 [{1: 1}, {1: 1}, {1: 1}]2. 运行如下代码 l [{}, {}, {}] for k in l:k {1:1} print(l) 输出为 [{}, {}, {}] 3. 运行如下代码 l [1,2,3] for k in l:k k * 2 print(l)输出为 [1, 2, 3…

蓝牙----蓝牙消息传输_GATT服务发现

蓝牙消息传输_GATT服务发现 1.主机和从机GATT服务的发现2.通知的使用 1.主机和从机GATT服务的发现 GATT服务的发现由主机执行&#xff0c;一共三个阶段  1.处理交换 MTU 请求和响应&#xff0c;启动对 Simple Service 服务的发现。 if (discState BLE_DISC_STATE_MTU){// MT…

​ PaddleHub 首页图像 - 文字识别chinese_ocr_db_crnn_server​

PaddleHub 便捷地获取PaddlePaddle生态下的预训练模型&#xff0c;完成模型的管理和一键预测。配合使用Fine-tune API&#xff0c;可以基于大规模预训练模型快速完成迁移学习&#xff0c;让预训练模型能更好地服务于用户特定场景的应用 零基础快速开始WindowsLinuxMac Paddle…

【更新】ESG-71个工具变量汇总(2024)

一、引言 收集了CSSCI期刊文本数据&#xff0c;并对“ESG”相关期刊进行文本分析&#xff0c;统计了71个“ESG”相关的工具变量&#xff0c;希望对大家提升研究效率有所帮助 工具变量是一种在统计学和计量经济学中常用的技术&#xff0c;用于处理因果关系研究中的内生性问题。…

【数仓统计】Spark hive SQL 统计数据分析一文全理解

每次面试的时候&#xff0c;大家最后都会问&#xff0c;我还有哪些方面需要提升的&#xff0c;需要关注哪方面的东西。 给大家的建议主要是技术测的提升建议&#xff0c;做技术一定要成体系化、并有深度。基于以上是写本文的原因。关于数仓技术-统计分析领域&#xff0c;由浅到…

452. 用最少数量的箭引爆气球 - 力扣(LeetCode)

题目描述 有一些球形气球贴在一堵用 XY 平面表示的墙面上。墙面上的气球记录在整数数组 points &#xff0c;其中points[i] [xstart, xend] 表示水平直径在 xstart 和 xend之间的气球。你不知道气球的确切 y 坐标。 一支弓箭可以沿着 x 轴从不同点 完全垂直 地射出。在坐标 …

带大家做一个,易上手的家常麻辣孜然牛蹄筋

首先 我们从冰箱中拿出牛蹄筋 泡水化开 一根大葱 一块生姜 大葱切段 生姜块 一把花椒 七个左右干辣椒 五个左右大料 三瓣蒜 切成蒜片 放入小碗中单独装起来 两个绿辣椒 首选螺丝椒 垃圾切成片 单独装起来 先将牛蹄筋 倒入锅中 然后加水 将牛蹄筋全部泡住即可 然后起锅烧…

1171. 距离(离线求LCA:tarjan算法)

1171. 距离 - AcWing题库 给出 n 个点的一棵树&#xff0c;多次询问两点之间的最短距离。 注意&#xff1a; 边是无向的。所有节点的编号是 1,2,…,n1。 输入格式 第一行为两个整数 n 和 m。n 表示点数&#xff0c;m 表示询问次数&#xff1b; 下来 n−1 行&#xff0c;每…

RT-Thread: STM32 SPI使用流程

1.添加驱动 ①点开设置界面 ②勾选看门 SPI 驱动 ③点击保存 ④查看添加的驱动文件 drv_spi.c 2.打开驱动头文件定义 ①打开配置文件 ②打开定义 3.打开需要开启的SPI总线 打开 drivers 目录下的 board.h 用SPI搜索&#xff0c;找到如下文字&#xff0c;打开对应的宏。 /*-…

程序运行只会占用到服务器里面一个核心使用,其他核心不工作,是什么问题

随着网络发展&#xff0c;在网络方面开展工作离不开服务器的使用&#xff0c;而在我们日常服务器运行使用过程中&#xff0c;可能会遇到各种问题&#xff0c;这些问题可能会影响服务器的性能和稳定性。最近德迅云安全就有遇到有用户来询问&#xff0c;自己服务器使用上很卡&…

巴厘行记(四)——乌布漫游

欢迎览阅《巴厘行记》系列文章 巴厘行记巴厘行记&#xff08;一&#xff09;——海神庙 巴厘行记&#xff08;二&#xff09;——乌布之夜 巴厘行记&#xff08;三&#xff09;——Auntie和Mudi 巴厘行记&#xff08;四&#xff09;——乌布漫游 巴厘行记&#xff08;五&a…

Pytest单元测试框架

第一章、pytest概述 Pytest is a framework that makes building simple and scalable tests easy. Tests are expressive and readable—no boilerplate code required. Get started in minutes with a small unit test or complex functional test for your application or l…

深入理解与防范C语言中的栈溢出问题

一、引言 栈溢出是计算机安全领域中一个常见的漏洞&#xff0c;特别是在C语言编程中。由于C语言的灵活性和对内存管理的直接操作性&#xff0c;如果程序员在编写代码时不注意&#xff0c;就可能导致栈溢出的发生。本文将全面解析栈溢出的概念、原因、影响以及防范措施。 二、…