DOM操作方法、属性
话不多说直接上demo:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Document</title>
</head>
<body>
<div class="container" id="box"><span>我是一个div元素1</span><p>hello</p></div>
<script>
var divNode = document.getElementsByClassName("container")[0];
/*节点操作*/
/*获取元素节点*/
console.log(divNode.nodeType) //
console.log(divNode.nodeName) //DIV
console.log(divNode.nodeValue) //null /*获取属性节点*/
console.log(divNode.attributes[1].nodeName) //id
console.log(divNode.attributes[0].nodeValue); //container
console.log(divNode.attributes[0]); //class="container" /*获取文本节点*/
console.log(divNode.childNodes[0].nodeName); //SPAN
console.log(divNode.childNodes[0].nodeValue); //null,如果不存在子元素,则输出文本内容
console.log(divNode.parentNode); //输出body标签及其子元素
console.log("===================")
console.log(divNode.childNodes[1].childNodes[0].nodeName); //#text
console.log(divNode.childNodes[1].childNodes[0].nodeValue); //hello /*如果div标签与span标签之间存在换行或者空格,则输出:我是一个div元素1*/
/*元素方法操作*/
/*添加子节点*/
var addNode = document.createElement("div");
var addText = document.createTextNode("guangzhou");
addNode.appendChild(addText);
divNode.appendChild(addNode); /*删除子节点*/
var deleteNode = document.getElementsByTagName("span")[0]
divNode.removeChild(deleteNode); /*替换子节点*/
var replaceNode = divNode.getElementsByTagName("div")[0]
var newReplace = document.createElement("span");
newReplace.innerHTML="my name lucas";
divNode.replaceChild(newReplace,replaceNode); /*插入子节点*/
var newInsert = document.createElement("div");
newInsert.innerHTML="insert a new div";
divNode.insertBefore(newInsert,divNode.childNodes[0]); /*属性操作*/
/*获取属性节点*/
console.log(divNode.getAttribute("class")); //container
console.log(divNode.getAttributeNode("class")); //class="container" /*创建和设置属性节点*/
var addAttr = document.createAttribute("class");
addAttr.value="newAttr";
divNode.setAttributeNode(addAttr); //替代了旧的类
// divNode.setAttribute("class","newAttr");/*简单写法*/ /*删除属性*/
var deleteAttr = divNode.getAttributeNode("class");
divNode.removeAttributeNode(deleteAttr)
// divNode.removeAttribute("id") /*简单写法*/
</script>
</body>
</html>
效果

DOM操作方法、属性的更多相关文章
- JS操作DOM元素属性和方法
Dom元素基本操作方法API,先记录下,方便以后使用. W3C DOM和JavaScript很容易混淆不清.DOM是面向HTML和XML文档的API,为文档提供了结构化表示,并定义了如何通过脚本来访 ...
- CSS :first-child 选择器 和 HTML DOM firstChild 属性
CSS 选择器参考手册 实例 选择属于其父元素的首个子元素的每个 <p> 元素,并为其设置样式: p:first-child { background-color:yellow; } 亲自 ...
- jQuery操纵DOM元素属性 attr()和removeAtrr()方法使用详解
jQuery操纵DOM元素属性 attr()和removeAtrr()方法使用详解 jQuery中操纵元素属性的方法: attr(): 读或者写匹配元素的属性值. removeAttr(): 从匹配的 ...
- DOM 节点属性
DOM 节点属性 在文档对象模型 (DOM) 中,每个节点都是一个对象.DOM 节点有三个重要的属性 : 1. nodeName : 节点的名称 2. nodeValue :节点的值 3. nodeT ...
- JQuery处理DOM元素-属性操作
JQuery处理DOM元素-属性操作 //操作元素的属性: $('*').each(function(n){ this.id = this.tagName + n; }) //获取属性值: $('') ...
- JavaScript DOM 元素属性 状态属性
JavaScript DOM 元素属性 状态属性 版权声明:未经允许,严禁转载! 元素的属性 核心 DOM 为我们提供了操作元素标准属性的统一 API. 所有属性节点都储存在元素的 attribute ...
- (四)Jsoup 获取 DOM 元素属性值
第一节: Jsoup 获取 DOM 元素属性值 Jsoup获取DOM元素属性值 比如我们要获取博客的href属性值: 我们这时候就要用到Jsoup来获取属性的值 : 我们给下示例代码: package ...
- SVG DOM常用属性和方法介绍(1)
12.2 SVG DOM常用属性和方法介绍 将以Adobe SVG Viewer提供的属性和方法为准,因为不同解析器对JavaScript以及相关的属性和方法支持的程度不同,有些方法和属性是某个解析 ...
- HTML DOM status 属性
<!DOCTYPE html><html> <head>HTML DOM status 属性</head><body><script ...
- DOM对象属性(property)与HTML标签特性(attribute)
HTML中property与attribute是极易混淆的两个概念.大多数时候这两个单词都翻译为"属性",为了区分二者,一般将property翻译为"属性",a ...
随机推荐
- 【Offer】[38] 【字符串的排列】
题目描述 思路分析 测试用例 Java代码 代码链接 题目描述 输入一个字符串,打印出该字符串中字符的所有排列.例如,输入字符串abc,则打印出由字符a.b.c所能排列出来的所有字符串abc.acb. ...
- 微服务时代之自定义archetype(模板/骨架/脚手架)
1. 场景描述 (1)随着微服务越来越常见,一个大的项目会被拆分成多个小的微服务,jar包以及jar之间的版本冲突问题,变得越来越常见,如何保持整体微服务群jar及版本统一,也变成更加重要了,mave ...
- Python 为了提升性能,竟运用了共享经济
大家或许知道,Python 为了提高内存的利用效率,采用了一套共用对象内存的分配策略. 例如,对于那些数值较小的数字对象([-5, 256]).布尔值对象.None 对象.较短的字符串对象(通常 是 ...
- Git使用教程 Windows使用Git全攻略
在Windows上安装Git 我们需要先把Git的安装包下载下来,访问网址:https://git-for-windows.github.io/ 或者百度网盘:链接: https://pan.baid ...
- 阿里雷卷:Reactive 基金会的成立将对开发方式带来哪些影响?
作者 | 赵钰莹 近日,Linux 基金会宣布成立 Reactive 基金会.对于 Reactive,各位开发者应该并不陌生,尤其是 Node.js 开发者,但真正了解并意识到这件事情对开发方式带来的 ...
- 开发利器JRebel部署SpringBoot项目
不要以为年纪轻轻就跌倒了人生谷底,未来还有更大的下降空间等着你. idea下载和安装JRebel 激活JRebel 访问https://my.jrebel.com/ 使用facebook或twitte ...
- 华为Quidway S5700开启SNMP协议
开启SNMP协议通过Console口登录主要用于交换机第一次上电或者本地配置.或者无法通过远程访问时,可通过Console口登录.如何才能通过Console口登录交换机呢?在配置通过Console口配 ...
- 疑难杂症----Windows10
现在大多数个人电脑所用的操作系统都是win10,而我们使用win10时总是会碰上各种各样的问题,所以专门写一篇博客来记录我碰上的各种问题,便于以后更快的解决问题. 一.小娜搜索不到应用问题解决方案 小 ...
- kafka删除弃用的groupid
登录zookeeper客户端 cd zookeeper-3.4.10 sh zkCli.sh 查看groupid信息 [zk:localhost:2181(CONNECTED) 1] ls /cons ...
- 在vue项目中使用less
1.安装 less 和 less-loader. 命令: npm install less less-loader --save-dev 2.打开 build/webpack.ba ...