dom操作

news2024/12/24 8:41:13

  <script>
  var htmlEl=document.documentElement
  var bodyEl=document.body
  var headEl=document.head
  var doctype=document.doctype
  console.log(htmlEl,bodyEl,headEl,doctype)
  </script>

 ul>li{$}*5

节点之间的关系(极少用)

空行+注释+没标签包括的文字也算是一个节点

子节点:

    // 1.获取节点的导航
    var bodyEl = document.body
    // 1.1.获取body所有的子节点
    // console.log(bodyEl.childNodes)
    // 1.2.获取body的第一个子节点
    var bodyElFirstChild = bodyEl.firstChild
    // 1.3.获取body中的注释
    var bodyElCommentChild = bodyElFirstChild.nextSibling
    console.log(bodyElCommentChild)
    // 1.4.获取body的父节点
    var bodyParent = bodyEl.parentNode
    console.log(bodyParent)

 此处 text指的是body下的第一个换行符,如果写成这样,text消失,第一个节点内容为注释

<body><!-- 我是注释, 哈哈哈 -->
  我是文本, 呵呵呵

  输出所有子节点:

  console.log(bodyEl.childNodes)

   console.log(bodyEl.firstChild)

    var bodyELTextChild=bodyElFirstChild.nextSibling
    console.log(bodyELTextChild)

 

元素之间的关系

.children[0]=.firstElementChild

firstchild用于节点而不是元素导航

  var bodyEl = document.body
    // 根据body元素去获取子元素(element)
    var childElements = bodyEl.children
    console.log(childElements)
 
    // 获取box元素
    var boxEl1 = bodyEl.firstElementChild
    var boxEl2 = bodyEl.children[0]
    console.log(boxEl1, boxEl2, boxEl1 === boxEl2)
 
    // 获取ul元素
    var ulEl = boxEl1.nextElementSibling
    console.log(ulEl)
 
    // 获取li元素
    var liEls = ulEl.children
    console.log(liEls)

注意这里是children不是child不是childelement

    var childElements=bodyEL.children

里面的第四个script是live server给浏览器注入的,无视掉

    var boxEl=bodyEL.firstElementChild
    console.log(boxEl)
    console.log(bodyEL.children[0])

 注意这里是firstElementChild不是firstchild

输出body第一个元素boxdiv的下一个元素 ul

    console.log(boxEl.nextElementSibling)

 form和table之间的导航

    var tableEl=document.body.firstElementChild
    console.log(tableEl.tHead)

得到表格的第三行 

    var tableEl=document.body.firstElementChild 
    // console.log(tableEl.tHead,tableEl.tBodies,tableEl.tFoot)
    // console.log(tableEl.rows)
    console.log(tableEl.rows[2])

打印出第三行的第一列内容 

    var tableEl=document.body.firstElementChild 
    console.log(tableEl.rows[2].cells[0])

 

 确定是第几列以及位于thead/tbody/tfoot中的索引

    var tableEl=document.body.firstElementChild 
    var rowEl=tableEl.rows[2]
    console.log(rowEl.rowIndex)
    console.log(rowEl.sectionRowIndex)

 获取form元素

    formEl=document.body.firstElementChild
    // console.log(formEl)
    // console.log(document.forms[0])
    var inputEl=formEl.children[0]
    var inputEl1=formEl.elements.password
    console.log(inputEl,inputEl1)

 获取input输入的value

    formEl=document.body.firstElementChild
    // console.log(formEl)
    // console.log(document.forms[0])
    var inputEl=formEl.children[0]
    var inputEl1=formEl.elements.password
    // console.log(inputEl,inputEl1)
    setTimeout(function(){
      console.log(inputEl1.value)
    },2000)

 element导航的实际运用(表格)

要求:将表格的对应格子设置为bgc为红色,字体为白色

  var tableEl = document.body.firstElementChild



    for (var i = 0; i < tableEl.rows.length; i++)

    {

      var rowEl1 = tableEl.rows[i]

      var cellEl1 = rowEl1.cells[i]

      cellEl1.style.backgroundColor="red"

      cellEl1.style.color="white"

    }

 易错:backgroundColor此处C大写且red被双引号包裹起来

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

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

相关文章

快速排序加量改进_CUTOFF+三点中值法+三路划分

目录 1引入情境2 形式化描述2-1递归结构2-2 一次划分2-3 C实现 3 在工程中的改进3-1 处理重复元素双向划分三路划分C 实现 3-2 最差情况的改进三点中值法随机选择pivot短序列切回插入排序 4 全部改进技术加持 1引入情境 从低到高排成一队&#xff0c;怎么办&#xff1f; 以大雄…

通过gulp+vite搭建vue3组件库

核心要点 通过 vite 搭建运行环境通过 gulp 执行编译流程通过 vite 编译组件代码编写 组件测试 组件打包 编译组件上传 npm 1、通过 vite 搭建运行环境 这里主要是创建一个可以运行的测试的组件的环境&#xff0c;全局安装vite脚手架&#xff0c;并初始化项目 npm create v…

简单两步创建nVisual建筑场景

nVisual是一款网络基础设施可视化管理软件&#xff0c;通过模型可规划即将建设的机房效果&#xff0c;或者将已有的机房场景复刻至系统中&#xff0c;便于运维管理者清晰的了解机房设备及线缆路由连接关系。 数据初始我们需要将数据中心场景复刻至系统中&#xff0c;建筑场景也…

meta标签复习总结

文章目录 前言一、用在哪里二、用途1.charset2.http-equiv3.name4.content5.keywords 前言 我们往往忽视&#xff0c;却又很重要的一个标签&#xff0c;meta&#xff0c;它在页面细节上面还提供了不小的作用。 一、用在哪里 先来看看它用法 <!DOCTYPE html> <html …

union和位域的混合使用

1、union&#xff08;共用体&#xff09; 1.1、概述 C 语言中&#xff0c;union是一种数据类型&#xff0c;对比于结构体&#xff0c;结构体中的每个成员都占用独立的内存空间&#xff0c;而联合中所有的成员都共享同一个内存空间。 也就是说&#xff0c;union中的不同成员要…

Android WebRTC+SRS/ZLM视频通话(5):Android使用WebRTC从SRS/ZLMediaKit拉流

Android WebRTCSRS/ZLM视频通话&#xff08;5&#xff09;&#xff1a;Android使用WebRTC从SRS/ZLMediaKit拉流 来自奔三人员的焦虑日志 接着上一章内容&#xff0c;继续来记录Android是如何使用WebRTC从SRS/ZLMediaKit拉流播放。WebRTC是一种实现实时音视频通信的技术&#xf…

三分钟教你如何定义自己的ChatGPT

三分钟教你如何定义自己的ChatGPT 成品预览材料准备MyChatGPT自定义AI 成品预览 材料准备 总共有两种方式&#xff1a; 一种是使用自己的OpenAI账号&#xff0c;这种方式是可控性比较强&#xff0c;同时也会有很多问题&#xff0c;比如你需要准备国外的手机号和Visa卡&#x…

目标检测论文总结

文章目录 1.目标检测论文123456789101112131415161718192021**22****25**2627 总结改进思路 1.目标检测论文 EI https://www.engineeringvillage.com/search/quick.url 其他 A YOLOv3-based Deep Learning Application Research for Condition Monitoring of Rail Thermite …

极客公园对话 Zilliz 星爵:大模型时代,需要新的「存储基建」

大模型在以「日更」进展的同时&#xff0c;不知不觉也带来一股焦虑情绪&#xff1a;估值 130 亿美元的 AI 写作工具 Grammarly 在 ChatGPT 发布后网站用户直线下降&#xff1b;AI 聊天机器人独角兽公司 Character.AI 的自建大模型在 ChatGPT 进步之下&#xff0c;被质疑能否形成…

外观、装饰、策略模式代码详解-软件设计(七十二)

真题详解&#xff08;索引长度计算&#xff09;-软件设计&#xff08;七十一)https://blog.csdn.net/ke1ying/article/details/130590260 外观模式 解析&#xff1a; public String getName()public void dispose(Patient patient)new ConcreteOatient(“name”)Facadenew Fa…

UPF问题解决

UPF配置文件内容解析 NWI Network Instance of the interface 结果调查&#xff0c;对upf网元配置文件进行了如下修改 将 - IF_2_NWIaccess.oai.org改为 - IF_2_NWIaccess3.oai.org 将 - IF_2_NWIaccess.oai.org改为 - IF_2_NWIaccess3.oai.org 然后两核心网接入了两个基站启…

Apache Doris 2.0 冷热分离快速体验

概述 对于任何一种数据库类软件来说&#xff0c;无论其基于传统数据库模型还是基于分布式结构&#xff0c;作为核心的永远是数据本身。而数据的生命周期&#xff0c;则体现在CRUD操作&#xff08;创建、查询、更新、删除&#xff09;上。任何一条数据从其生成的时刻开始&#…

程序设计语言与语言处理程序基础

目录 第七章、程序设计语言与语言处理程序基础1、编译与解释2、文法3、正规式 4、有限自动机5、表达式 6、传值与传址 7、多种程序语言特点 第七章、程序设计语言与语言处理程序基础 1、编译与解释 编译器是将整个高级语言程序一次性转化成目标机器的机器代码&#xff0c;编译…

Xcode安装ipa

iOS APP上架App Store其中一个步骤就是要把ipa文件上传到App Store&#xff01;​ 下面进行步骤介绍&#xff01;​ 利用Appuploader这个软件&#xff0c;可以在Windows、Linux或Mac系统中申请ios和上传IPA到App Store Connect。​ 非常的方便&#xff0c;没有Mac也可以用Ap…

手游反外挂方案解析

据中国音数协游戏工委发布的《2023年1—3月游戏产业报告》显示&#xff0c;2023年1—3月&#xff0c;中国移动游戏市场实际销售收入为486.94亿元&#xff0c;占游戏市场整体实际销售收入的72.12% &#xff0c;虽然数据同比去年略有下滑&#xff0c;但足以证明&#xff0c;移动游…

【逆向】动态链接库

文章目录 动态链接库1. 动态链接库的定义2. 动态库的由来&#xff1a;3. Dll与ExE程序区别4. DLL导出5. DLL导入6. 静态库 动态链接库 1. 动态链接库的定义 动态链接库英文DLL&#xff0c;是Dynamic Link Libarary的缩写。Dll中包含若干公用的代码、数据等&#xff0c;可供其他…

如何搭建在线产品手册

在现代社会&#xff0c;随着科技的发展&#xff0c;越来越多的企业将目光投向互联网&#xff0c;并将自己的产品推向了线上。而对于这些线上产品&#xff0c;拥有一份完备的、易用、高质量的在线产品手册显得尤为重要。 那么如何才能搭建一份高质量且易用的在线产品手册呢&…

《Android性能优化》学习笔记—启动优化

为什么要做App的启动优化&#xff1f; 网页端存在的一个定律叫8秒定律&#xff1a;即指用户访问一个网站时&#xff0c;如果等待打开的时间超过8秒&#xff0c;超过70%的用户将会放弃等待。 同样的&#xff0c;移动端也有一个8秒定律&#xff1a;如果一个App的启动时间超过8秒…

UNIAPP实战项目笔记66 当前用户更改购物车商品数量的前端和后端交互

UNIAPP实战项目笔记66 当前用户更改购物车商品数量的前端和后端交互 思路 前端改变数量的时候将数据发送到后端 后端接收到数据后更改数据库中的数据 案例截图 代码 前端代码 cart.js export default{state:{list:[/* {id:1,name:"332经济法能聚聚会技能大赛 经济法能聚…

vmware15+ubuntu+AS

一、VMware Workstation 与 Device/Credential Guard 不兼容 安装VMware15后&#xff0c;在运行启动ubuntu时一直提示与Device/Credential Guard不兼容 1、WINR打开运行&#xff0c;输入services.msc&#xff1b; 2、服务中找 HV主机服务&#xff0c;双击打开设置改为禁用&am…