| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> JavaScript知识库 -> HTML DOM基础知识及value、innerHTML、innerText属性的区别 -> 正文阅读 |
|
[JavaScript知识库]HTML DOM基础知识及value、innerHTML、innerText属性的区别 |
HTML DOM基础知识及value、innerHTML、innerText属性的区别本文首先介绍HTML DOM基础知识,再介绍JS中value、innerHTML、innerText属性的区别 HTML DOM基础知识文档对象模型 (DOM) - Web API 接口参考 | MDN 通过 HTML DOM,JavaScript 能够访问和改变 HTML 文档的所有元素。 当网页被加载时,浏览器会创建页面的文档对象模型(Document Object Model)。过 HTML DOM,可访问 JavaScript HTML 文档的所有元素。当浏览器载入 HTML 文档, 它就会成为 Document 对象。HTML DOM 把 HTML 文档呈现为节点树结构。参见下图: ?HTML 文档中的所有内容都是节点: 整个文档(Document)是一个文档节点 每个 HTML 元素(Element)是元素节点 HTML 元素内的文本(Text)是文本节点 每个 HTML 属性(Attribute)是属性节点 注释(Comment)是注释节点 一般地,说DOM操作,可以简单理解成“元素操作”,每一个元素就是一个节点,而每一个节点就是一个对象。因此说,对DOM的元素操作,其实就是把这个元素看成一个对象,然后使用这个对象的属性和方法来进行相关操作。 DOM节点类型较多,不过常见的有3种 (1)元素节点 (2)属性节点 (3)文本节点 ? 属性节点和文本节点看起来像是元素节点的一部分,但实际上,它们是独立的节点,并不属于元素节点。只有元素节点才可以拥有子节点,属性节点和文本节点都无法拥有子节点。 在JavaScript中,我们可以使用nodeType属性来判断一个节点的类型。不同节点的nodeType属性值如下表所示:
在 HTML DOM 中, 元素对象代表着一个 HTML 元素——在 DOM 中,所有 HTML 元素都被定义为对象。 元素对象 的 子节点可以是元素节点,文本节点、属性节点、注释节点。 NodeList 对象 代表了节点列表,类似于 HTML元素的子节点集合。 HTML DOM 方法是您能够(在 HTML 元素上)执行的 动作。 HTML DOM 属性是您能够设置或改变的 HTML 元素的 值。 HTML DOM 是 HTML 的标准对象模型和编程接口。它定义了: 作为对象的 HTML 元素,在 DOM 中,所有 HTML 元素都被定义为对象。 所有 HTML 元素的属性 访问所有 HTML 元素的方法 所有 HTML 元素的事件 HTML DOM 方法是您能够(在 HTML 元素上)执行的 动作。 HTML DOM 属性是您能够设置或改变的 HTML 元素的 值。 HTML DOM 使 JavaScript 有能力对 HTML 事件做出反应。 JavaScript 能够在事件发生时执行,比如想当用户点击某个 HTML 元素时,可以向 HTML 事件属性添加 JavaScript 代码:οnclick=JavaScript处理程序 JS(JavaScript)通过HTML DOM可以 获取、更改、添加、删除HTML 元素,更改HTML 元素。 DOM元素(Element)获取的几种方法(method): ★通过ID getElementByld("id名") ★通过class名 getElementsByClassName("class名") ★通过标签名 getElementsByTagName("标签名") ★通过name属性 getElementsByName(" name名") ★通过选择器获取一个元素 querySelector("选择器名") ★通过选择器获取一组元素 querySelectorAll("选择器名") 提示:参数是字符串的""引号是英文引号,单引号、双引号没有区别。 元素操作,准确来说,操作的是“元素节点”。属性操作,准确来说,操作的是“属性节点”。 HTML属性操作,指的是使用JavaScript来操作一个元素的HTML属性。像下面有一个input元素,指的就是操作它的id、type、value等,其他元素也类似。 <input id="btn" type="button" value="提交"/> 在JavaScript中,有两种操作HTML元素属性的方式:一种是使用“对象属性”;另外一种是使用“对象方法”。不管是用“对象属性”方式,还是用“对象方法”方式,都涉及以下2种操作:1)获取HTML属性值;2)设置HTML属性值 ☆用“对象属性”方式来操作 获取HTML属性值语法: obj.attr 说明: obj是元素名,它一个DOM对象。所谓的DOM对象,指的是getElementById()、getElementsByTagName()等方法获取到的元素节点。 attr是属性名,对于一个对象来说,当然是通过点运算符(.)来获取它的属性值。 设置HTML属性值语法: obj.attr = "值"; 说明: obj是元素名,它一个DOM对象,attr是属性名。 ☆用“对象方法”方式操作 可以使用getAttribute()方法来获取元素的某个属性的值。 语法: obj.getAttribute("attr") 说明: obj是元素名,attr是属性名。getAttribute()方法只有一个参数。注意,attr是要用英文引号括起来的,初学者很容易忽略这个问题。 下面给出一个示例:
保存文件名:getAttribute()方法示例.html,用浏览器打开运行结果: 可以使用setAttribute()方法来设置元素的某个属性的值。 语法: obj.setAttribute("attr","值") 说明: obj是元素名,attr是属性名。setAttribute()方法有两个参数:第1个参数是属性名;第2个参数是你要设置的属性值。 可以使用removeAttribute()方法来删除元素的某个属性。 语法: obj.removeAttribute("attr") 说明: 想要删除元素的某个属性,我们只有removeAttribute()这一个方法。 可以使用hasAttribute()方法来判断元素是否含有某个属性。 语法: obj.hasAttribute("attr") 说明: hasAttribute()方法返回一个布尔值,如果包含该属性,则返回true。如果不包含该属性,则返回false。 实际上我们直接使用removeAttribute()删除元素的属性是不太正确的,比较严谨的做法是先用hasAttribute()判断这个属性是否存在,如果存在,才去删除。 value、innerHTML、innerText属性的区别value是元素的属性值,而innerText和innerHTML是元素开始和结束标签之间的值,innerHTML包括Html标签, innerText去除Html标签。 HTML DOM value 属性value 属性设置或返回属性的值。 返回属性的值:attribute.value 设置属性的值:attribute.value = value innerHTML 属性设置或返回表格行的开始和结束标签之间的 HTML,从该元素标签的起始位置到终止位置的全部内容(包含html标签)。 获取元素的内容:element.innerHTML; 给元素设置内容:element.innerHTML =htmlString; element.innerHTML - Web API 接口参考 | MDN innerText属性可获取或设置指定元素标签内的文本值,从该元素标签的起始位置到终止位置的全部文本内容(不包含html标签)。 获取元素的内容:element.innerText; 给元素设置内容:element.innerText = string; HTMLElement.innerText - Web API 接口参考 | MDN value、innerHTML、innerText属性的区别的例子,源码如下:
保存文件名:value、innerHTML、innerText的区别.html ,用浏览器打开运行结果: 附录、 W3Schools 是由挪威的 Refsnes Data 创建的一个“教程网站”,注意不要和https://www.w3school.com.cn/ 搞混,(注意其中w3schools最后有没有 s ) MDN(Mozilla Developer Network)?MDN Web Docs Web Platform Docs ?Your Web, documented. · WebPlatform.org |
|
JavaScript知识库 最新文章 |
ES6的相关知识点 |
react 函数式组件 & react其他一些总结 |
Vue基础超详细 |
前端JS也可以连点成线(Vue中运用 AntVG6) |
Vue事件处理的基本使用 |
Vue后台项目的记录 (一) |
前后端分离vue跨域,devServer配置proxy代理 |
TypeScript |
初识vuex |
vue项目安装包指令收集 |
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 | -2024/11/15 7:04:47- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |