JavaScript学习-DOM扩展_HTML5

什么是DOM,DOM的作用,以及DOM与JavaScript的关系 一个想学web前端的初学者,如果在知乎中搜索推荐书目的话,得到的答案多数都是:首先,学习htlm+css;第二点就是阅读《JavaScript DOM 编程艺术》这本书。         作为一个初学的小白,JavaScript大概知道是个什么东西,但是DOM是什么??         在该书的前沿部分写道:本书的真正目的是让大家理解DOM脚本编程技术背后的思路和原则。然而在看了将近2/5的书 阅读详情

1,与类相关的扩充

  • getElementsByClassName()
    • 可通过Document对象及所有HTML元素调用。
    • 接收一个参数,包含一或多个类名的字符串。传入多个类名时,类名的先后顺序不重要。
    • 返回带有指定类的所有元素的NodeList。
  • classList属性
    • 在操作类名时,通过className属性的话,若是多个类名一起的字符串,那么修改类名的时候,就需要有关于字符串操作的方法来修改className。
    • HTML5新增了一种操作类名的方式,为所有元素添加classList属性。这个classList属性时新集合类型DOMTokenList的实例。与其他DOM集合类似,DOMTokenList有一个length属性。取得元素可以使用item()方法,也可以使用方括号语法。这个新类型还定义如下方法。
      • add(value):将给定的字符串值添加到列表中,如果值存在,就不添加。
      • contains(value):表示是否存在给定的值,存在返回true,不存在返回false。
      • remove(value):从列表中删除给定的字符串。
      • toggle(value):若存在给定值,删除它。若没有给定值,添加它。
    • 有了classList属性,除非你需要全部删除所有类名,或者完全重写元素的class属性,否则就用不到className属性了。

2,焦点管理

  • HTML5添加了辅助管理DOM焦点的功能。
  • document.activeElement属性
    • 这个属性始终会引用DOM中当前获得了焦点的元素。
    • 文档刚刚加载完成时,保存的是documen.body元素的引用。
  • focus()方法
    • 元素获得焦点的方法。另外还有的方式有页面加载,用户输入。
  • document.hasFocus()方法
    • 确定文档是否获得了焦点。可以知道用户是不是正在与页面交互。

3,HTMLDocument的扩展

  • readyState属性
    • Document的readyState属性有两个可能的值:
      • loading,正在加载文档;
      • complete,已经加载完文档;
  • 兼容模式compatMode属性

    • CSS1Compat 代表标准模式
    • BackCompat 代表混在模式
    • 代码示例:
    if (document.compatMode == "CSSCompat"){
        alert("Standards mode");
    }else{
        alert("Quirks mode");
    }
  • head属性
    • 引用文档的head元素。

4,字符集属性

  • charset属性
    • 表示文档中实际使用的字符集,也可用来指定新字符集。
    • 默认为“UTF-16”。
    • 可使用meta元素,响应头部或者直接设置charset属性修改这个值。
    • 支持的浏览器有IE,Firefox,Safari,Opera,和Chrome。
  • defaultCharset属性
    • 表示当前浏览器及操作系统默认的字符。
    • 支持的浏览器有IE,Safari和Chrome。

5,自定义数据属性

  • HTML5规定可以为元素添加非标准的属性,但要添加data-
  • 目的是为元素提供与渲染无关的信息,或者提供语义信息。
  • 可以通过元素的dataset属性来访问自定义属性的值。
  • dataset是DOMStringMap的一个实例,也就是一个名值对儿的映射。,只不过属性名没有data-前缀,如下代码所示:

    var div = document.getElementById("myDiv");
    var appId = div.dataset.appId;
    var myName = div.dataset.myname;
    
    div.dataset.appId = 23456;
    div.dataset.myname = "Michael";
    
    if (div.dataset.myname){
        alert("Hello," + div.dataset.myname);
    }

6,插入标记

  • 需要给文档添加大量HTML标记的情况下,使用下面这些HTML5规范的扩展可以方便的进行。
  • innerHTML属性

    • 返回与调用元素的所有子节点的HTML标记。
    • 写模式下,genuine指定值创建新的DOM数,然后用新DOM数完全替换调用元素原先所有的子节点。
    • 如下所示

      <div id="content">
          <p>This is a <strong>paragraph</strong> with a list following it.</p>
          <ul>
              <li>Item 1</li>
              <li>Item 2</li>
              <li>Item 3</li>
          </ul>
      </div>
    • 它的innerHTML属性会返回下列字符串

      <p>This is a <strong>paragraph</strong> with a list following it.</p>
      <ul>
          <li>Item 1</li>
          <li>Item 2</li>
          <li>Item 3</li>
      </ul>
    • 返回的文本格式因浏览器相异,IE和Opera会将所有标签转换为大写形式,而Safari,Chrome和Firefox会按照原文本格式返回。
    • innerHTML属性的一些限制
      • script元素并不会执行其中的脚本(IE8及更早版本除外,但必须满足一些条件,具体参看《JavaScript高级程序设计p295》)
      • 大多数浏览器都支持以直观的方式通过innerHTML插入style元素。
      • 不支持innerHTML元素的有:col,colgroup,frameset,head,html,style,table,tbody,thead,tfoot,tr,在IE8及更早版本title也不支持。
  • outerHTML属性
    • 返回调用它的元素及所有子节点的HTML标签。
    • 写模式下,根据指定的值,替换元素本身以及元素的子树。
  • insertAdjacenetHTML()方法

    • 接收两个参数
      • 插入位置字符串
        • beforebegin
        • afterbegin
        • beforeend
        • afterend
      • 要插入的文本
    • 代码示例

      element.insertAdjacentHTML("beforebegin","<p>Hello world!</p>");
  • scrollIntoView()方法
    • 如果传入true
      • 窗口滚动之后会让调用元素的顶部与视口顶部尽可能平齐。
    • 传入false
      • 调用元素会尽可能全部出现在是口中,可能的话,调用元素的顶部会与视口顶部平齐。
Matlab之机载雷达系统中的空时自适应处理(STAP)技术(附源码) 在第一个脉冲期间,天线 1 通过天线 N-1 接收的杂波返回与第二个脉冲期间天线 2 通过天线 N 接收的杂波返回相同。该算法可能需要搜索角度和多普勒的所有组合来定位目标,但对于示例,由于确切知道目标的位置,因此可以将处理器定向到该点。然而,接收到的信号不仅包含来自目标的反射回波,还包含来自被照亮地表的回波。然而,由于干扰器的白噪声性质,接收到的干扰信号占据了整个多普勒频段。在以下部分中,您将模拟来自目标、杂波和干扰器的返回,并说明 STAP 技术如何过滤来自接收信号的干扰。假设元件间距是波形波长的一半。 阅读详情

相关推荐

RseQC实战指南:从安装到RNA-Seq数据质控全流程解析

本文提供了一份详尽的RseQC实战指南,涵盖从安装配置到RNA-Seq数据质控的全流程。文章重点解析了RseQC作为专业质控工具的核心价值,手把手指导如何通过Conda或pip完成安装,并深入讲解了bam_stat.py、geneBody_coverage.py等关键模块的使用方法与结果解读技巧,帮助用户有效评估RNA完整性、文库构建质量及链特异性,确保下游分析的可靠性。

weixin_29200741的博客 200

原生JS实现元素的getElementsByClassName()方法,适用于多个类名

原生JS实现getElementsByClassName() window.onload = function() { var oUl = document.getElementById('ull'); function getElementsByClassName(obj,classname){ var result = []; var aEls = document.getEl

JMission的专栏 7950

双相机坐标系标定

工业双相机对位标定

sinat_33762356的博客 8317

html5 dom扩展,JS学习10(DOM扩展)

选择符API这个API存在的主要目的就是让JS原生支持CSS查询。querySelector()这个方法接收一个CSS选择符,返回与该模式匹配的第一个元素或null。var body = document.querySelector("body");querySelectorAll()这个方法同样接收一个CSS选择符,以静态NodeList的形式返回所有匹配的元素。var strongs = do...

weixin_42361071的博客 190

DIY必备:如何用N-MOS管搭建低成本DC有刷电机驱动电路(附原理图+避坑指南)

本文详细介绍了如何使用N-MOS管搭建低成本、高可靠性的DC有刷电机驱动电路。针对DIY爱好者,从核心原理、电路设计、元件选型到焊接调试,提供了完整的实战指南,并重点解析了续流二极管选型、栅极驱动设计等关键避坑要点,帮助读者成功驱动电机并确保电路稳定运行。

delta的博客 774

Python抓取摄像头图像,进行AI识别(一)

本文介绍了如何用Python获取海康威视摄像头的图像并进行AI识别。主要内容包括:1)准备工作,包括摄像头IP设置和密码重置方法;2)使用Python的Requests库通过ISAPI接口获取实时图像;3)示例代码展示如何保存摄像头图像。整个过程为后续AI图像识别提供了基础,通过简单的Python代码即可实现专业监控设备的图像采集功能。

Hahafantuan的博客 1513

2022年自学WEB前端系统学习路线,学完必拿15K以上offer

很多零基础的初学者,不知道从事前端开发需要学习哪些东西,今天给大家整理一份完整的前端学习路线,能够把这些知识点大致掌握,找一份15K以上的工作很简单。能够全部掌握,就可以准备大厂的面试了。首先就是HTML/CSS3 以及工具部分:vscode开发工具使用、markdown文档工具使用、浏览器平台环境、标签基础、DTD与META语义化、选择器、权重与优先级、匹配规则、浮动与清除、BFC、类名组合规则......

Cangjie627的博客 422

手把手教你搞定CAC会议投稿:从LaTeX模板到PDF eXpress避坑全流程

本文详细解析CAC会议投稿全流程,重点介绍LaTeX模板调整、Turnitin查重技巧及PDF eXpress校验避坑指南。通过实战案例和代码示例,帮助研究者高效完成IEEE格式论文投稿,避免常见技术性失误,提升投稿成功率。

weixin_29969209的博客 397

2016年第2周读书笔记与工作笔记 scrollIntoView()与datalist元素

  这一周主要是看了html5网页开发实例与javascript 高级程序设计,供以后翻阅查找。    html5网页开发实例第1章与第二章的2.1部分:   第1章内容: html5在w3c的发展史、 浏览器的兼容问题、 搭建开发h5的浏览器环境、 h5在移动应用开发领域的前景 我主要看了【搭建开发h5的浏览器环境】, 因为工作中主要的用来调试代码的工具是chrome,而这篇...

weixin_33738578的博客 110

【实战】Python 携程酒店价格实时抓取爬虫项目全解析

摘要:本文介绍了一个基于Python的携程酒店价格实时抓取系统开发方案。系统采用Requests、BeautifulSoup和Selenium等技术栈,实现了多城市、多日期的酒店数据采集,包括价格、评分、位置等关键信息。通过请求头伪装、IP代理、随机等待等反爬策略,有效应对携程的反爬机制。系统支持数据清洗、去重和CSV/Excel导出,并提供了多线程优化、代理池集成等进阶方案。本文详细阐述了技术原理、代码实现和优化策略,同时强调了数据采集的合法合规性,为旅游行业数据分析提供了可靠的数据获取方案。

2503_91057718的博客 2605

【WRF工具】WRF Domain Wizard第一期:软件下载及安装

【WRF工具介绍】WRF Domain Wizard-确定模拟区域

WW、forever的博客 2917

JavaScript DOM基础

本文简单的讲解了JavaScript的DOM基础,适合初学的朋友们,如果本文对你有所帮助请三连支持博主,你的支持是我更新的动力。以下是本篇文章正文内容一个完整的JavaScript实现由以下3个不同部分组成核心(ECMAScript)语言核心部分,描述了该语言的语法和基本对象。文档对象模型(DocumentObjectModel,DOM)网页文档操作标准,描述处理网页内容的方法和接口。浏览器对象模型(BOM)客户端和浏览器窗口操作基础,描述与浏览器进行交互的方法和接口。编程接口。......

程序员柒的博客 2419

【IxNetwork】史上最全IxNetwork测试仪使用精讲(一),图文教程超赞超详细!!!

IXIA使用的是Server-client模式,Server端在测试仪表的主机上,在开机后会随着主机内的操作系统的启动而自动启动,一般情况下不需要人为的手工启动。因此在通常不需要为主机配置专用的显示器和键盘。client端包括两个测试软件: Ixia Explorer和ScriptMate。这两个软件一般安装在测试用计算机上,在仪表自带的主机中也有这两个软件。根据测试项目的不同来选择使用不同的软件。Ixia Explorer主要提供数据流的测试,针对设备的功能进行测试;

风云说通信 2054

【JavaScript】《JavaScript高级程序设计 (第4版) 》笔记-Chapter15-DOM 扩展

IE9 之前的版本与其他浏览器在处理空白文本节点上的差异导致了 children 属性的出现。children 属性是一个 HTMLCollection,只包含元素的 Element 类型的子节点。如果元素的子节点类型全部是元素类型,那 children 和 childNodes 中包含的节点应该是一样的。自然地,JavaScript 与 CSS 类的交互就增多了,包括动态修改类名,以及根据给定的一个或一组类名查询元素,等等。contains()方法应该在要搜索的祖先元素上调用,参数是待确定的目标节点。

江湖人称菠萝包 1787

IEM模型,地表粗糙度模拟

利用微波反演土壤水分时候,利用IEM模型可以实现对随机地表的模拟

RU DOS版、EFI版32bit/64bit BIOS常用工具

DOS版、EFI版的RU工具,可用来查看IO、MEM、PCI、SMBIOS等资源。亲测在EFI SHELL下可用。

js学习笔记:DOM扩展

尽管DOM作为API已经十分完善了,但为了实现更多功能,仍会有一些标准或专有的扩展。 对DOM的两个主要的扩展是Selectors API 和HTML5.Selectors API众多js库中最常用的一项功能就是根据CSS选择符选择与某个模式匹配的DOM元素。实际上,jQuery的核心就是通过CSS选择符查询DOM文档取得元素的引用,从而抛开getElementById()和getElements

(づ。◕‿‿◕。)づgigi奋斗在前端和刷题中╮(╯﹏╰)╭ 1602

温度PID控制PLC程序

温度PID稳定控制程序,适用于欧姆龙PLC,对其他PLC也具有很大参考价值

html5 dom 结构,HTML5 DOM扩展

一、选择符1. querySelector()方法:返回与该模式匹配的第一个元素//取得body元素var body = document.querySelector("body");//获取的ID为"one"的元素var one = document.querySelector("#one");//获取的Class为"two"的第一个元素。注意:并不是所有元素var two = document...

weixin_34073886的博客 260

数学建模模型总结

这是本人在两年内准备参加数学建模竞赛搜集到的模型资料,已经经过了本人的筛选和整理,希望能够对准备参加数学建模竞赛的学弟学妹们提供一些帮助!

HTML5 和 DOM到底是什么意思?

问题:我们想在电脑上看到好看又好玩的网页,该用什么办法呢?答案:HTML5 就像是建造网页的“积木套装”。用这些积木,我们可以搭出各种各样的网页,有图片、文字、按钮,还有视频呢。比喻:就像用乐高积木能搭出城堡、汽车一样,用 HTML5 能搭出不同样子的网页。问题:做好的网页,我们想改变里面的内容,该怎么办呢?答案:DOM 就像是网页的“管家”。它把网页上的所有东西都变成一个个可以操作的“小物件”,我们可以通过它来改变网页上的内容、样式等。

长风破浪会有时的博客 1029

html5 dom扩展,JavaScript DOM操作及扩展

什么是DOM???DOM(Document Object Model 文档对象模型)是针对HTML和XML文档的一个API(应用程序编程接口)。注意,IE中的所有DOM对象都是以COM(组件对象模型)对象的形式实现的。IE中的DOM对象与原生JavaScript对象的行为或活动特点并不一致。COM对象是遵循COM规范编写、以Win32动态链接库(DLL)或可执行文件(EXE)形式发布的可执行二进...

weixin_30248619的博客 234

第 15 章 DOM 扩展

❑ 理解Selectors API ❑ 使用HTML5 DOM扩展

LBJ辉的前端天地 697

JavaScript笔记之JS 和 HTML5 的关系

一个完整的程序很少只用 HTML5——除非是纯静态页面(如一个简单的博客文章)。但如果你想添加任何动态功能(如按钮点击后更新内容、表单验证、动画),就必须用 JS。:在现代前端开发中,HTML5 和 JS 几乎总是结合使用的,尤其是如果你在构建一个“程序”(如 web app、游戏或交互页面)。这里,JS 监听按钮点击并弹出警报。这只是显示文本,没交互。

小勇博客 1027

JS学习笔记(十二)DOM

JS学习笔记(十二)DOM 文章目录JS学习笔记(十二)DOM一、DOM1.1 Document类型1.2 DOM树1.3 获取文档子节点 body 和 html(一)获取body(二)获取html1.4 文档信息1.5 获取元素1.5.1 根据ID获取1.5.2 根据标签名获取1.5.3 HTML5新增的获取方式1.6 特殊集合1.7 文档写入二、节点2.1 Node类型2.1.1 nodeName 和 nodeValue2.2 节点关系2.3 节点操作2.3.1 父节点的操作2.3.2 子节点的操作基本

MARTIAN的博客 1722

html5 dom扩展,$11 DOM扩展

1. 选择符API根据CSS选择符选择与某个模式匹配的DOM元素。Selectors API的核心方法:querySelector()和querySelectorAll(),可以通过document和element类型的实例调用它们。1.1 querySelector()方法:接收CSS选择符,返回匹配的第一个元素,如果没有找到,返回null。var myDiv=document.querySe...

weixin_32151313的博客 188

html5 dom扩展,HTML5 DOM扩展(示例代码)

一.选择符API1. querySelector()方法 :接收一个CSS选择符 ,返回与该模式匹配的第一个元素,若没有匹配到返回null。其中通过Document类型调用querySelector()方法时,会在文档元素范围内查找匹配元素;如var body = document.querySelector("body");通过Element类型调用querySelector()时,只会在该元...

weixin_32673065的博客 103

js DOM 扩展

Selectors API:document.querySelector(selectors)、parentNode.querySelectofAll(selectors)、element.matches(selectorSting)。元素遍历:childElementCount 、firstElementChild 、lastElementChild 、previousElementSibling、nextElementSibling 。HTML5:getElementByClassName().....

逆水寒 430

【前端】【HTML5+CSS3+JS】学习笔记总结

【HTML5+CSS3+JS】学习笔记总结

qq_73471456的博客 1612

JavaScript中有关DOM扩展

DOM扩展选择符API根据CSS选择符选择与某个模式匹配的DOM元素。 querySelector()方法接收一个CSS选择符,返回与该模式匹配的第一个元素,如果没有找到则返回null,例如:var myDiv = document.querySelector("#myDiv");//取得ID为"myDiv"的元素通过document类型调用querySelector()方法时,会在文档元素的范围

粥要熬。 325
上一篇: JavaScript学习-DOM扩展_元素遍历
下一篇: JavaScript学习-DOM扩展_专有扩展
Zmarvin
博客等级 码龄12年 6粉丝 72原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值