话不多说直接上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操作方法、属性的更多相关文章

  1. JS操作DOM元素属性和方法

    Dom元素基本操作方法API,先记录下,方便以后使用. W3C DOM和JavaScript很容易混淆不清.DOM是面向HTML和XML文档的API,为文档提供了结构化表示,并定义了如何通过脚本来访 ...

  2. CSS :first-child 选择器 和 HTML DOM firstChild 属性

    CSS 选择器参考手册 实例 选择属于其父元素的首个子元素的每个 <p> 元素,并为其设置样式: p:first-child { background-color:yellow; } 亲自 ...

  3. jQuery操纵DOM元素属性 attr()和removeAtrr()方法使用详解

    jQuery操纵DOM元素属性 attr()和removeAtrr()方法使用详解 jQuery中操纵元素属性的方法: attr(): 读或者写匹配元素的属性值. removeAttr(): 从匹配的 ...

  4. DOM 节点属性

    DOM 节点属性 在文档对象模型 (DOM) 中,每个节点都是一个对象.DOM 节点有三个重要的属性 : 1. nodeName : 节点的名称 2. nodeValue :节点的值 3. nodeT ...

  5. JQuery处理DOM元素-属性操作

    JQuery处理DOM元素-属性操作 //操作元素的属性: $('*').each(function(n){ this.id = this.tagName + n; }) //获取属性值: $('') ...

  6. JavaScript DOM 元素属性 状态属性

    JavaScript DOM 元素属性 状态属性 版权声明:未经允许,严禁转载! 元素的属性 核心 DOM 为我们提供了操作元素标准属性的统一 API. 所有属性节点都储存在元素的 attribute ...

  7. (四)Jsoup 获取 DOM 元素属性值

    第一节: Jsoup 获取 DOM 元素属性值 Jsoup获取DOM元素属性值 比如我们要获取博客的href属性值: 我们这时候就要用到Jsoup来获取属性的值 : 我们给下示例代码: package ...

  8. SVG DOM常用属性和方法介绍(1)

    12.2  SVG DOM常用属性和方法介绍 将以Adobe SVG Viewer提供的属性和方法为准,因为不同解析器对JavaScript以及相关的属性和方法支持的程度不同,有些方法和属性是某个解析 ...

  9. HTML DOM status 属性

    <!DOCTYPE html><html> <head>HTML DOM status 属性</head><body><script ...

  10. DOM对象属性(property)与HTML标签特性(attribute)

    HTML中property与attribute是极易混淆的两个概念.大多数时候这两个单词都翻译为"属性",为了区分二者,一般将property翻译为"属性",a ...

随机推荐

  1. 【Nginx】基础学习概览【汇总】

    一.Nginx 简介安装启动 二.Nginx的应用场景 三.Nginx中的配置命令 四.实现动态负载均衡 五.四层负载均衡 六.主从热备 七.动静分离 一.Nginx 简介安装启动 [Nginx]简介 ...

  2. 编写一个函数来找出所有不带歧义的函数名,也就是 那些只在一个模块里出现过的函数名(erlang)

    erlang程序设计第八章练习题第二题: code:all_loaded()命令会返回一个由{Mod,File}对构成的列表,内含所有Erlang系统 载入的模块.使用内置函数Mod:module_i ...

  3. IP地址和int互转

    /** * @author: yqq * @date: 2019/5/8 * @description: ip地址与int之间互换 * https://mp.weixin.qq.com/s?__biz ...

  4. spring boot项目后台运行

    spring boot项目后台运行 Spring Boot应用的几种运行方式: (1)运行Spring Boot的应用主类 (2)使用Maven的Spring Boot插件mvn spring-boo ...

  5. C#中Path类的常用方法

    场景 打开VS,输入Path,我们可以看到其定义. 都是静态方法,所以我们可以使用类名直接调用. 实现 新建命令行程序,编码如下: string str = @"C:\Users\Admin ...

  6. J2EE简单的分页器

    J2EE项目特别是后台管理,或者一部分前台展示数据比较多,通常需要分页把展示折叠在数据区内. 一般有几种方式来实现分页, 一是官方分页插件,二是自己写,三是网上找(类似于第一种) 这里就介绍第二种, ...

  7. 【学习笔记】python3核心技术与实践--开篇词

    python的应用和流行程度: Python 可以运用在数据处理.Web 开发.人工智能等多个领域,它的语言简洁.开发效率高.可移植性强,并且可以和其他编程语言(比如 C++)轻松无缝衔接.现如今,不 ...

  8. sql字段为逗号分开的字符串值的关联查询

    1.TREE表: [strID] [int] IDENTITY(1,1) NOT NULL,[strName] [nvarchar](50) NOT NULL, 2.SubInfo CREATE TA ...

  9. LeetCode 1169. 查询无效交易

    题目链接:https://leetcode-cn.com/problems/invalid-transactions/ 如果出现下述两种情况,交易 可能无效: 交易金额超过 ¥1000或者,它和另一个 ...

  10. (一)spring 高级装配-@Profile

    1.环境与profile 示例:数据库配置 a:通过@Bean注解,通过EmbeddedDatabaseBuilder创建数据源 @Bean(destroyMethod="shutdown& ...