DOM编程(2)

《JavaScript DOM 编程艺术》(第2版)之读后感悟 在阅读完第一本书——《JavaScript DOM编程艺术》之后,有一些自己的感悟和理解,顺带把书中的一些常用的原生JS所写的方法罗列出来,以供参考和使用。 阅读详情

1.document对象
定义:document对象代表整个html文档,可用来访问页面中的所有元素,是最复杂的一个dom对象
write():这个是向文档输出文本或是js代码
writeln():这个是向文档输出文本或是js代码,与write不一样的是writeln是换行输出
open():可打开一个新文档,并擦除当前文档的内容。
close():关闭open()文档流
getElementById():通过html控件的id得到该控件,如果有相同的id则只取第一个
注意:
(1)规定html文档中id最好要唯一,如果不唯一,则只取第一个元素
(2)id不用数字开头
getElementsByName():通过元素的名字返回对象集合
案例:用name取多个元素

function test2(){
    var hobbies=document.getElementsByName("hobby");
    //window.alert(hobbies.length);
    for(var i=0;i<hobbies.length;i++){
        //如何判断是否选择
        if(hobbies[i].checked){
            window.alert("你的爱好是"+hobbies[i].value)
        }
    }
}
<input type="checkbox" name="hobby" value="足球"/>足球
<input type="checkbox" name="hobby" value="旅游"/>旅游
<input type="checkbox" name="hobby" value="音乐"/>音乐
<input type="button" value="testing" onclick="test2()"/>

getElementsByTagName():通过html的标签名返回对象集合
案例:通过标签名字获取input集合

        function test3(){
            var myobjs=document.getElementsByTagName("input");
            for(var i=0;i<myobjs.length;i++){
                window.alert(myobjs[i].value);
            }
        }
        <input type="checkbox" name="hobby" value="足球"/>足球
<input type="checkbox" name="hobby" value="旅游"/>旅游
<input type="checkbox" name="hobby" value="音乐"/>音乐
<input type="button" value="获取所有input" onclick="test3()"/>

createElement():创建一个指定标签名的元素[比如:动态创建超链接]
案例:动态创建超链接和动态删除超链接

function test1(){
    //创建元素
    var myElement=document.createElement("a");//a处写希望创建的html元素标签名
    //给新的元素添加必要的信息
    myElement.href="http://www.sina.com";
    myElement.innerText="连接到sina";
    myElement.id="id1";
    //myElement.style.left="200px";
    //myElement.style.top="300px";
    //myElement.style.position="absolute";
    //添加到document.body
    //document.body.appendChild(myElement);
    //将元素添加到div
    document.getElementById("div1").appendChild(myElement);
}
function test(){
    //删除一个元素
    document.getElementById("div1").removeChild(document.getElementById("id1"));
}
<input type="button" value="动态的创建一个超链接" onclick="test1()"/>
<div id="div1" style="width:200px;height:400px;border:1px solid red"></div>
<input type="button" value="删除一个超链接" onclick="test()"/>

2.dom的node节点
在dom编程中,一个html文档会被当做一个dom树来对待,dom会把所有的html元素映射成node节点,于是就可以使用node节点的属性和方法。
属性名称:
nodeName:节点名称
nodeValue:节点值
nodeType:节点类型
firstChild:第一个子节点
lastChild:最后一个子节点
childNodes:所有子节点
previousSibling:前一个节点
nextSibling:后一个节点
ownerDocument:获得该节点所属的文档对象
attributes:代表一个节点的属性对象
方法名称:
hasChildNodes():当前节点是否有子节点
appendChild(node):往当前节点上添加子节点
removeChild(node):删除子节点
repalceChild(oldNode,new Node):替换子节点
insertBefore(newNode,refNode):在指定节点的前面插入新节点
3.document其他对象
(1)body:body对象代表文档的主体,使用body对象要求文档的主体创建后才能使用。
innerText:某个元素间的文本
innerHtml:某个元素间的html代码
(2)style:表示当前元素的样式设置,style对象和document对象下的集合对象styleSheets有关系,styleSheets是文档中所有style对象的集合。

document.getElementById("id").style.Property="id".style.Property="值" //来控制网页文档的任何一个元素(对象)的样式。

(3)form对象
length:返回大小
item(index):指定取出form对象集合的第几个form对象
说明:当访问某个表单的某个元素的时候,可以document.forms[第几个表单].元素的名字
document.forms.item(第几个表单).元素的名字
表单验证的综合案例:当用户在提交表单的时候,要给出相应的提示信息
这里写图片描述

<html>
<head>
<link rel="stylesheet" type="text/css" href="form.css">
<script type="text/javascript">
function changeAction()
  {
  var x=document.getElementById("myForm")
  alert("Original action: " + x.action)
  x.action="index.asp"
  alert("New action: " + x.action)
  x.submit()
  }

  function checkinfo(){
     span1.innerText="";
     span2.innerText="";
     span3.innerText="";
    //获取表单的用户名
    if(document.forms[0].username.value.length<4||document.forms[0].username.value.length>6){
        span1.innerText="用户名应在4-6位间";
        return false;
    }
    //判断密码是否ok
    if(document.forms[0].pwd1.value.length<=3){
        span2.innerText="密码要求大于3位";
        return false; 
    }
    if(document.forms[0].pwd1.value!=document.forms[0].pwd2.value){
        span3.innerText="输入的两次密码不一样";
        return false;
    }
  }
</script>
</head>
<body>
<h1>用户注册</h1>
<form action="">
<table border=0>
<tr><td class="td1">用户名</td><td class="td2"><input class="style1" type="text" name="username"/><span id="span1"></span></td></tr>
<tr><td>密  码</td><td><input class="style1" type="password" name="pwd1"/><span id="span2"></span></td></tr>
<tr><td>确认密码</td><td><input class="style1" type="password" name="pwd2"/><span id="span3"></span></td></tr>
<tr><td>年   龄</td><td><input class="style1" type="text" name="age"/></td></tr>
<tr><td>电子邮件</td><td><input class="style1" type="text" name="email"/></td></tr>
<tr><td>电话号码</td><td><input class="style1" type="text" name="phone"/></td></tr>
<tr><td><input type="submit" onclick="return checkinfo()" value="注册新用户"/></td><td><input type="reset" value="重新填写"/></td></tr>
</table>
</body>
</html>

说明:在验证表单的时候,可以有两种方式:

<form action="" onsubmit="函数"/>
或<input type="submit" onclick="函数"/>
JavaScript DOM编程艺术(第2版) 笔记 目录基本概念1、JavaScript语法1.1 JavaScript 代码的执行:1.2 JavaScript 语句1.3 变量1.4 数据类型1.4.1 字符串1.4.2 数值1.4.3 数组1.4.4 对象1.5 操作1.6 条件语句1.6.1 if 条件语句1.6.2 比较操作符1.6.3 逻辑操作符1.6.4 循环语句1.7 函数1.8 对象1.8.1 内建对象1.8.2 宿主对象2、DOM2.1 获取元素 基本概念 程序设计语言 阅读详情

相关推荐

知识见闻 - Salesforce公司发展史

不过,通过将自己开发的产品与公司收购的其它云产品进行结合,Salesforce可以为用户提供更多的产品种类,Salesforce可以继续强化自己的平台和产品套件属性,这一平台和套件的发展规模已经远远超出了一个单一的CRM的规模。他们围绕一个相对简单的产品向用户兜售云的概念,然后,他们开始开发其它产品,并寻找培育一个不断增长的生态系统的方法,最理想的情况是能驱动Salesforce的营收增长。现在,Salesforce通过打造更多的用例并改进自己产品的方式来直接应对竞争对手的竞争,从而捍卫自己现在的地位。

guoqx的专栏 1449

JavaScript DOM编程艺术(第2版)

JavaScript DOM编程艺术(第2版)pdf电子版网盘下载链接: https://u18278754.ctfile.com/fs/18278754-307029636 转载于:https://blog.51cto.com/12108297/2166359

weixin_33725126的博客 343

MT6816角度传感器SPI通信避坑指南:从数据手册到稳定读取的3个关键步骤

本文详细解析了MT6816角度传感器SPI通信中的常见问题与解决方案,包括寄存器地址计算、SPI时序配置和数据校验等关键步骤。通过实测波形和代码示例,帮助工程师避开数据手册中的隐藏陷阱,实现稳定可靠的角度数据读取,特别适用于高精度电机控制场景。

weixin_42520573的博客 516

DOM编程2

DOM编程   DOM是什么 DOM是Document Object Model文档对象模型的缩写。根据W3C DOM规范(http://www.w3.org/DOM/),DOM是一种与浏览器,平台,语言无关的接口,使得你可以访问页面其他的标准组件。简单理解,DOM解决了Netscape的Javascript和Microsoft的Jscript之间的冲突,给予web设计师和开发者一个标准

739

STM32与威纶通触摸屏RS485通信实战:Modbus RTU协议与避坑指南

在工业自动化与嵌入式系统开发中,串行通信是实现设备间数据交换的基础技术。RS485总线凭借其差分信号传输、抗干扰能力强、支持多点通信及长距离传输等特性,成为工业现场广泛应用的物理层标准。其核心原理是利用一对双绞线进行平衡传输,有效抑制共模噪声。在协议层,Modbus RTU作为开放、简洁的主从式应用层协议,定义了统一的数据模型(如线圈、寄存器)和功能码,极大简化了不同厂商设备间的互操作性。结合STM32微控制器的UART外设与威纶通(Weinview)人机界面(HMI),可以构建稳定可靠的监控与控制系统。本

weixin_33925615的博客 327

高温环境下(100℃以上)相机的几种保障方案

高温环境下相机保障措施摘要:针对120℃以上高温环境,相机需采取多重防护:1.散热设计采用金属机身、散热鳍片或风扇;2.关键部件选用耐高温材料(铝合金、特种玻璃);3.电子元件需军规级芯片并做三防处理;4.建议外接电源或耐高温电池。工业相机(如FLIR A655sc、Basler ace)及特种机型(Ximea xiQ)具备高温适应性,普通相机可加装隔热套件配合冷却系统。选择时需关注传感器信噪比和全局快门性能,并设置温度监控保护机制。注意高温会加速设备老化,需定期检测维护。(149字)

start_up_go的博客 1583

JavaScript DOM编程艺术(第2版)读后总结

最近花了整整4天时间看完了JavaScript DOM编程艺术(第2版),这本书讲得是非常底层的DOM操作,读完会对DOM有一个更加深刻的认识。DOM不专属于html网页和javascript,任何支持DOM的程序设计语言都可以使用它,它也可以用来处理任何一种标记语言(比如XML)编写出来的文档。除了标准DOM外,作者还介绍了一些HTML专有属性,比如innerHTML,但是任何时候都可以用标准D...

weixin_41480546的博客 340

Codex 接入国产大模型指南:客户端与 CLI 双端实战

CC Switch是目前最流行的 Codex / Claude Code 模型切换工具,内置了协议转换功能,支持几乎所有主流国产模型。核心原理Codex → 本地 8317 端口(CC Switch)→ 协议转换 → 国产模型 API整个过程对 Codex 完全透明,Codex 以为自己在跟标准的 Responses API 对话。用户类型推荐方案理由新手 / 不想折腾配置简单,免费额度够用追求稳定体验通义千问(原生接入)官方兼容,功能最完整企业用户自建 AI 网关可控性强,支持多用户管理预算有限。

篮球界最会写bug的人;程序猿中打球最菜的人。 572

JS DOM2(DOM编程)

一、DOM树 document也是一个元素(Element)对象,document是网页中最大的父级元素。 ​ 二.document对象常用方法 方法:getElementById() 返回对拥有指定id的第一个对象的引用 getElementsByName() 返回带有指定名称的对象的集合 getElementsByTagName() 返回带有指定标签名的对象的集合 getElementsBy...

小菜儿前端的博客 696

30、模态组合规则在振动分析中的应用

本文详细介绍了模态组合规则在振动分析中的应用,重点讨论了绝对峰值叠加法(SRSS)和完全二次组合(CQC)的理论基础、应用场景及优缺点。通过具体工程实例,展示了模态组合规则在地震载荷下结构响应分析中的实际效果,并提供了应用步骤和注意事项,为结构设计和安全评估提供了科学依据。

nice1的博客 221

OdomLaserCalibraTool标定工具的使用及踩坑记录

首先欢迎扫码关注我的微信公众号【SLAM及ROS学习笔记】 GitHub地址 GitHub - tzhangZJU/OdomLaserCalibraTool: Extrinsic Calibration of a Odom and 2d Laser 作者博客 2d Laser 和 Odomter 内外参数标定工具原理及使用方法_知行合一-优快云博客 其实只是记录了一下我自己的标定过程,和错误解决方法。其实博客和GitHub中也有提及 Error1 这个是由于.

Studying…… 1757

2_DOM(DOM编程艺术)

3. DOM 3.1 文档:“D” 3.2 对象:“O” 3.3 模型:“M” 3.4 节点 文档是由节点构成的集合,只不过此时的节点是文档树上的数值和树叶而已 3.4.1 元素节点 body、p、ul之类的元素,在文档中的布局形成了文档的结构 标签的名字就是元素的名字 元素可以包含其他的元素。事实上,没有包含在其他元素里的唯一元素是html元素,它是我们节点树的根元素 3.4.2 文本节点 绝大多数内容都是由文本提供的 在XHTML文档里,文本节点总是被包含在元素节点的内部,但并非所有的元素节点都包含有文

cheng_09的博客 338

基于XDMA 的PCIE读写DDR

基于XDMA 的PCIE读写DDR 概述:   想实现基于FPGA的PCIe通信,查阅互联网各种转载…基本都是对PCIe的描述,所以想写一下基于XDMA的PCIe通信的实现(PCIe结构仅做简单的描述(笔记),了解详细结构移至互联网)。 实现功能:PC通过PCIE读写DDR,同时用户通过逻辑代码可以读取被写入DDR内的数据(我是通过VIO实现DDR任意地址,任意数据大小的读取。)。 实践实践!!! 说明: 参考文档: PCI Express Base Specification Revision 3.0 P

Crazzy_M的博客 1万+

《JavaScript DOM 编程艺术 第 2 版》

第 5 章 最佳实践 平稳退化:现在基本所有带交互的网站都使用 Ajax,SAP 也火起来了,平稳退化真是很难实现了(看到第七章发现我之前的观点是错了) 分离 JS 向下兼容 性能考虑 第 6 章 案例研究:图片库改进版 键盘访问(提高可访问性) onclick 已经帮我们处理了,eg:下面这个绑定了 onclick 的按钮鼠标左键点击和 tab 然后回车一样弹出 "clicked...

anleng6817的博客 153

pscad IEEE标准系统搭建说明

pscad IEEE标准系统搭建说明,包含典型的IEEE 9节点、14节点、30节点、39节点和118节点系统。内含标准测试系统的原始数据和潮流结果。

IDEA的使用指南

IDEA基于java的使用手册,可以最快速的上手,在使用中不断的丰富自己的使用技巧.

5、BOM编程 DOM编程(2)

DOM创建新节点document.createElement("标签名") 创建新元素节点 elt.setAttribute("属性名", "属性值") 设置属性 elt.appendChild(e) 添加元素到elt中最后的位置 elt.insertBefore(new, child); 添加到elt中,child之前。

guanhang89的专栏 4420

霍尼韦尔SoftMaster使用说明

霍尼韦尔SoftMaster使用说明

JavaScript DOM编程艺术(第2版)的简单总结

介绍 JavaScript DOM编程艺术(第2版)主要讲述了 JavaScript、DOM 和 HTML5 的基础知识,着重讲述了 DOM 编程,并通过几个实例演示了具有专业水准的网页开发。 下面介绍一下各章节的讲到的内容。 第1章 JavaScript简史 本章主要讲解JavaScript的发展简史、不同的浏览器会采用不同的办法来完成一样的任务,这会影响JavaScript的发展,而DOM标准化,让这种情况有所改变。而本书要讲的就是JavaScript和DOM一起完成的任务,不需要讨论浏览器。 第2章

Shadow_killers的专栏 461

Camera2Demo

在Camera2 的基础上进行封装,使得Camera2一堆初始化逻辑与Activity分离,降低耦合度,完成预览拍照并保存的操作

DOM编程(2)操作节点

文章目录一、操作DOM1.DOM元素特性和属性的区别(1)获取元素的所有特性二、使用步骤1.引入库2.读入数据总结欢迎使用Markdown编辑器新的改变功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一个自定义列表如何创建一个注脚注释也是必不可少的KaTeX数学公式新的甘特图功能,丰富你的文章UML 图表FLowchart流程图导出与导入导出导入 一、操作DOM 示例:pan

hgc2020的博客 228

Javascript高级编程学习笔记(49)—— DOM2和DOM3(1)DOM变化

Javascript高级编程学习笔记(49)—— DOM2和DOM3(1)DOM变化 DOM变化 我们知道DOM有许多的版本,其中DOM0和DOM2这两个级别以对事件的纳入标准而为人所知 但是呢,这里不讲事件,在后面会有专门和事件有关的部分作为详细讲解 这里就只讲一下DOM2和DOM3的背景来历 首先DOM1级主要定义的是HTML和X...

巽秋的博客 132

前端3DOM编程2——DOM事件

目录 1、事件流 2、事件注册与触发 3、事件对象 4、事件分类 5、事件代理 五、DOM事件 事件,是用户或浏览器自身执行的某种动作。当在网页上操作时,比如点击一个DOM元素、键盘按下一个键、输入框输入内容、页面加载完成等,都会触发DOM事件。 1、事件流 DOM事件流即DOM事件处理执行的过程,为了判断页面的哪一部分会拥有特定的事件。W3C对DOM事件流作了规范的定义,主要分...

yaocong1993的博客 352

【亲测免费】 《JavaScript DOM编程艺术(第2版)》资源文件下载

《JavaScript DOM编程艺术(第2版)》资源文件下载 【下载地址】JavaScriptDOM编程艺术第2版资源文件下载 探索JavaScript与DOM编程的奥秘,本开源项目为您提供《JavaScript DOM编程艺术(第2版)》的完整资源,包括随书光盘的源代码和电子书PDF。这些资源是Web开发人员学习和实...

gitblog_06739的博客 652

JavaScript Dom编程 ——2

这个还是接着这篇文章写的 那一篇写得太长了,编辑器有点吃不消,所以又新开了一篇 nodetype取值 图片参考自

include_heqile的博客 551

前端学习之DOM编程-解除DOM2事件绑定

HTML DOM 事件允许Javascript在HTML文档元素中注册不同事件处理程序。事件通常与函数结合使用,函数不会在事件发生前被执行!(如用户点击按钮)。

banliyaoguai的博客 357

Javascript DOM 编程艺术(第2版)

数组 var beatles = Array(4); Beatles [0] = ‘John’; var beatles = [‘John’,’Paul’,’Gorge’]; 对象 var lenmon = Object(); lemon.classname = ‘John’; var lemon = {name:”John”,year:1940,living:false} ...

weixin_38092043的博客 294
上一篇: DOM编程(1)
下一篇: 小球撞击游戏
yanner_
博客等级 码龄9年 39粉丝 168原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值