JavaScript学习笔记——节点
javascript-节点属性详解
根据 DOM,HTML 文档中的每个成分都是一个节点。
DOM 是这样规定的:
整个文档是一个文档节点
每个 HTML 标签是一个元素节点
包含在 HTML 元素中的文本是文本节点
每一个 HTML 属性是一个属性节点
注释属于注释节点
一、如何获得节点引用
1.旧的获取节点引用方式
getElementById()
//查找文档中的一个特定的元素,最有效的方法是 getElementById(),一定要有document
var outdiv=document.getElementById("outdiv"); var childs=outdiv.childNodes; alert(childs.length);
getElementByTagName() //返回带有指定标签名的对象集合
getElementByName()
*******************************************
劣势:
1.浪费内存
2.逻辑性不强
*******************************************
2.通过节点 关系属性 获得节点的引用
对象.parentNode 获得父节点的引用
//父节点
var innerdiv=document.getElementById("innerdiv");
var father=innerdiv.parentNode;
alert(father.nodeName);
对象.childNodes 获得子节点的集合
对象.firstChild 获得第一个子节点
对象.lastChild 获得最后个子节点
//最后一个子节点
var innerdiv=document.getElementById("innerdiv");
var last=innerdiv.lastChild;
alert(last.nodeName);
对象.nextSibling 获得下一个兄弟节点的引用
对象.previousSibling 获得上一个兄弟节点的引用
****************************************************************
劣势:兼容性不好。
FF会把例如</div>后面的所有的空白节点都读成一个子节点
IE会把最后一个空白节点读成子节点
****************************************************************
二、节点的信息(属性)
节点类型 节点名字 节点值
nodeType(数值) nodeName nodeValue
nodeType 属性返回以数字值返回指定节点的节点类型。
如果节点是元素节点,则 nodeType 属性将返回 1。
如果节点是属性节点,则 nodeType 属性将返回 2
元素节点 1 标签名 null
属性节点 2 属性名 属性值
文本节点 3 #text 文本
注释节点 8 #comment 注释的文字
文档节点 9 #document null
alert(outdiv.nodeType)
alert(document.nodeType)
alert(document.nodeName)
alert(document.nodeValue)
三、兼容性的方法
javascript-节点的增、删、改、查实例讲解
一、创建节点
1>创建元素节点
document.createElement("元素标签名");
var elea=document.createElement("a");
elea.href="#";
elea.title="我是一个链接";
elea.innerHTML="链接";
elea.style.color="red";
document.body.appendChild(elea);
2>创建属性节点
document.createAttribute("属性名");
对象.属性="属性值"
对象.setAttribute(属性名,属性值)
对象.getAttribute(属性名,属性值)
3>创建文本节点
对象.innerHTML="";
elea.innerHTML="链接";
document.createTextNode("文本");
var h3text=document.createTextNode("后盾网视频教程");
二、追加到页面当中
父对象.appendChild(追加的对象) 插入到最后
document.body.appendChild(elea);
父对象.insertBefore(要插入的对象,之前的对象) 插入到最后
var innerdiv=document.getElementById("innerdiv");
var spans=innerdiv.firstChild;
var eleh3=document.createElement("h3");
var h3text=document.createTextNode("后盾网视频教程");
eleh3.appendChild(h3text);
innerdiv.insertBefore(eleh3,spans);
三、修改(替换)节点
父对象.replaceChild(要修改的对象,被修改的);
innerdiv.replaceChild(elep,eleh3)
四、删除节点
父对象.removeChild(删除的对象)
如果确定要删除节点,最好也清空内存 对象=null;
innerdiv.removeChild(elep)
elep=null;
alert(elep.innerHTML);
JavaScript学习笔记——节点的更多相关文章
- javascript学习笔记(四) Number 数字类型
数字格式化方法toFixed().toExponential().toPrecision(),三个方法都四舍五入 toFixed() 方法指定小数位个数 toExponential() 方法 用科学 ...
- Java程序猿的JavaScript学习笔记(9—— jQuery工具方法)
计划按例如以下顺序完毕这篇笔记: Java程序猿的JavaScript学习笔记(1--理念) Java程序猿的JavaScript学习笔记(2--属性复制和继承) Java程序猿的JavaScript ...
- Javascript学习笔记四——操作表单
Javascript学习笔记 大多网页比如腾讯,百度云之类的需要登陆,用户输入账号密码就可以登陆,那么浏览器是如何获取用户的输入的呢?今天就记录一下操作表单. 操作表单与操作DOM是差不多的,表单本身 ...
- Javascript学习笔记三——操作DOM(二)
Javascript学习笔记 在我的上一个博客讲了对于DOM的基本操作内容,这篇继续巩固一下对于DOM的更新,插入和删除的操作. 对于HTML解析的DOM树来说,我们肯定会时不时对其进行一些更改,在原 ...
- Javascript学习笔记二——操作DOM
Javascript学习笔记 DOM操作: 一.GetElementById() ID在HTML是唯一的,getElementById()可以定位唯一的一个DOM节点 二.querySelector( ...
- Javascript学习笔记——操作浏览器对象
Javascript学习笔记 目前尝试利用javascript去对于一个浏览器对象完成一系列的访问及修改, 浏览器是网页显示.运行的平台,常用的浏览器有IE.火狐(Firefox).谷歌(Chrome ...
- Java程序猿的JavaScript学习笔记(汇总文件夹)
最终完结了,历时半个月. 内容包含: JavaScript面向对象特性分析,JavaScript高手必经之路. jQuery源代码级解析. jQuery EasyUI源代码级解析. Java程序猿的J ...
- Java程序猿的JavaScript学习笔记(8——jQuery选择器)
计划按例如以下顺序完毕这篇笔记: Java程序猿的JavaScript学习笔记(1--理念) Java程序猿的JavaScript学习笔记(2--属性复制和继承) Java程序猿的JavaScript ...
- Java程序猿JavaScript学习笔记(2——复制和继承财产)
计划和完成在这个例子中,音符的以下序列: Java程序猿的JavaScript学习笔记(1--理念) Java程序猿的JavaScript学习笔记(2--属性复制和继承) Java程序猿的JavaSc ...
随机推荐
- 【The Expendables】团队博客目录
站立式会议: •[alpha版本]第一次站立式会议 •[beta版本]冲刺计划 •[beta版本]冲刺总结 •[alpha版本]第二次站立式会议 •[beta版本]第 ...
- input用法,永远等待,直到用户输入值赋值给一个东西。
input用法,永远等待,直到用户输入值赋值给一个东西. n1 = input('请输入用户名:') n1 = input('请输入密码:') print(n1) print(n1)
- java文件上传和下载
简介 文件上传和下载是java web中常见的操作,文件上传主要是将文件通过IO流传放到服务器的某一个特定的文件夹下,而文件下载则是与文件上传相反,将文件从服务器的特定的文件夹下的文件通过IO流下载到 ...
- extjs基础 使用图标字体来美化按钮)
下载 Font Awesome 1.拷贝css 和 fonts 到build同级目录 2.需要在index.html中引入css文件 3.在main.js文件中添加 initComponent : f ...
- Okio 1.9简单入门
Okio 1.9简单入门 Okio库是由square公司开发的,补充了java.io和java.nio的不足,更加方便,快速的访问.存储和处理你的数据.而OkHttp的底层也使用该库作为支持. 该库极 ...
- 2010-2014总结 ____V_V____ hello-world
.caret,.dropup>.btn>.caret{border-top-color:#000!important}.label{border:1px solid #000}.table ...
- 【凯子哥带你学Framework】Activity界面显示全解析
前几天凯子哥写的Framework层的解析文章<Activity启动过程全解析>,反响还不错,这说明“写让大家都能看懂的Framework解析文章”的思想是基本正确的. 我个人觉得,深入分 ...
- javascript中数组去重的4种方法
面试前端必须准备的一道问题:怎样去掉Javascript的Array的重复项.在最近面试中,百度.腾讯.盛大等都在面试里出过这个题目.这个问题看起来简单,但其实暗藏杀机. 考的不仅仅是实现这个功能,更 ...
- bzoj1113: [Poi2008]海报PLA
#include <iostream> #include <cstdio> #include <cstring> #include <cmath> #i ...
- HDU4612 Warm up
Time Limit: 5000MS Memory Limit: 65535KB 64bit IO Format: %I64d & %I64u Description N planet ...