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 ...
随机推荐
- Django之模型层(2)
Django之模型层(2) 一.创建模型 实例:我们来假定下面这些概念,字段和关系. 作者模型:一个作者由姓名和年龄. 作者详细模型:把作者的详情放到详情表,包含生日,手机号,家庭住址等信息.作者详情 ...
- 仿QQ5.0侧滑菜单
一.概述 侧滑菜单现在已经非常流行了,目前大概有这么几种:最普通的侧滑,抽屉侧滑,QQ侧滑 注:本文来自慕课网 二.最普通的侧滑 先上图 代码如下: public class MainActivity ...
- Graph and Chart Study
1.选择主题 “Themes”,以"Graph"——“preset7” 为例: 2.选择“Canvas”——“GraphChart”预制体,1.Set data categorie ...
- Java 最常见 200+ 面试题答案全解析-面试必备
本文分为十九个模块,分别是: Java 基础.容器.多线程.反射.对象拷贝.Java Web .异常.网络.设计模式.Spring/Spring MVC.Spring Boot/Spring Clou ...
- Servlet重定向
重定向就是在访问一个Servlet时,没有得到资源,只能去找另外一个Servlet去获取资源.状态码为302. import javax.servlet.ServletException; impor ...
- php判断访问协议是否是https
可以通过$_SERVER中获取是否是HTTPS协议. 在$_SERVER["SERVER_PROTOCOL"]中拿到的只能是http.$_SERVER['HTTPS'] === ...
- Senparc.Weixin.MP SDK 微信公众平台开发教程(二十二):如何安装 Nuget(dll) 后使用项目源代码调试
最近碰到开发者问:我使用 nuget 安装了 Senparc.Weixin SDK,但是有一些已经封装好的过程想要调试,我又不想直接附加源代码项目,这样就没有办法同步更新了,我应该怎么办? 这其实是一 ...
- Mysql学习笔记整理之数据库优化
数据库性能瓶颈的原因 数据库连接数 数据量大 硬件资源限制 数据性能优化方案 sql优化 2.缓存 3.建好索引 4.读写分离 5. 分库分表 慢日志查 ...
- Android Studio [Activity的生命周期]
package com.xdw.a122; import android.support.v7.app.AppCompatActivity; import android.os.Bundle; imp ...
- spark运行信息及报错问题解决集锦
错误1: ERROR client.RemoteDriver: Failed to start SparkContext: java.lang.IllegalArgumentException: Ex ...