在javascript中关于节点内容加强


Posted in Javascript onApril 11, 2013

一、元素节点

//测试元素节点,输出节点名称,节点的类型,节点的值
  var liElements=document.getElementsByTagName("li");
  for(var i=0;i<liElements.length;i++){
     alert(liElements[i].nodeName);
     alert(liElements[i].nodeType);
     alert(liElements[i].nodeValue);
  }

二、属性节点

[/c//测试属性节点,输出属性节点名称,节点的类型,节点的值
  var liElements=document.getElementsByTagName("li");
  for(var i=0;i<liElements.length;i++){
      var attrElement=liElements[i].getAttributeNode("value")
      alert("attrElement.nodeName "+attrElement.nodeName);
      alert("attrElement.nodeType "+attrElement.nodeType);
      alert("attrElement.nodeValue "+liElements[i].getAttribute("value"));
  }ode]
三、文本节点
[code]
 //测试元素节点,输出节点名称,节点的类型,节点的值
  var liElements=document.getElementsByTagName("li");
  for(var i=0;i<liElements.length;i++){
   alert(liElements[i].childNodes[0].nodeName);
   alert(liElements[i].childNodes[0].nodeType);
   alert(liElements[i].childNodes[0].nodeValue);
   liElements[i].childNodes[0].nodeValue="南京";
   alert(liElements[i].childNodes[0].nodeValue);
   //另一种读取方法
   alert(liElements[i].firstChild.nodeName);
   alert(liElements[i].firstChild.nodeType);
   alert(liElements[i].firstChild.nodeValue);
  }

四、替换节点

replaceChild()
把一个给定父元素里的一个子节点替换为另外一个子节点
 var reference = element.replaceChild(newChild,oldChild);
返回值是一个指向已被替换的那个子节点的引用指针。
如果被插入的子节点还有子节点,则那些子节点也被插入到目标节点中

 //方法一
//  var cityElement=document.getElementById("city");
//  var loveElement=document.getElementById("love");
//  var cityChildElement=document.getElementById("beijing");
//  var loveChildElement=document.getElementById("fankong");
//  var oldElement=cityElement.replaceChild(loveChildElement,cityChildElement);
//  loveElement.appendChild(oldElement);
//  alert(oldElement.getAttribute("id")); 
  var cityElement=document.getElementById("city");
         cityElement.onclick=function(){
         var cityChildElement=document.getElementById("beijing");
         var loveChildElement=document.getElementById("fankong");
         var oldElement=cityElement.replaceChild(loveChildElement,cityChildElement);
         loveElement.appendChild(oldElement);
         alert(oldElement.getAttribute("id"));
  }

五、查找属性节点

getAttribute()  
返回一个给定元素的一个给定属性节点的值
 var attributeValue = element.getAttribute(attributeName);
给定属性的名字必须以字符串的形式传递给该方法。
给定属性的值将以字符串的形式返回,如果给定属性不存在,getAttribute() 将返回一个空字符串.
通过属性获取属性节点
   getAttributeNode(属性的名称)--Node

  <li name="beijing" id="bj">北京</li>

   //通过属性名获取属性的值
     var  bjElement=document.getElementById("bj");
     var attributeValue=eduElement.getAttribute("name");
     alert("attributeValue    "+attributeValue);

   //通过属性名获取属性的节点
   var  bjNode=eduElement.getAttributeNode("name");
       alert(eduNode.nodeValue);
       alert(eduNode.nodeType);
       alert(eduNode.nodeName);

六、设置属性节点

setAttribute()
将给定元素节点添加一个新的属性值或改变它的现有属性的值。
   element.setAttribute(attributeName,attributeValue);
属性的名字和值必须以字符串的形式传递给此方法
如果这个属性已经存在,它的值将被刷新;
如果不存在,setAttribute()方法将先创建它再为其赋值。
 

   <li  id="bj" >北京</li>

   //获取元素的引用
   var bjElement=document.getElementById("bj");
   //设置属性值
   bjElement.setAttribute("name","beijing");
   //获取设置的属性值
   var nameValue=bjElement.getAttribute("name");
   alert("nameValue "+nameValue);

 

七、创建新元素节点

createElement()
按照给定的标签名创建一个新的元素节点。方法只有一个参数:将被创建的元素的名字,是一个字符串.
  var reference = document.createElement(element);
方法的返回值:是一个指向新建节点的引用指针。返回值是一个元素节点,所以它的 nodeType 属性值等于 1。
新元素节点不会自动添加到文档里,新节点没有 nodeParent 属性,它只是一个存在于 JavaScript 上下文的对象.
 var pElement = document.createElement("p");

   //创建一个新的元素
  var pElement=document.createElement("li");
  //设置属性值
  pElement.setAttribute("id","pid");

  //获取父元素
  var loveElement=document.getElementById("love");
  //在父元素中增加子元素
loveElement.appendChild(pElement);

  //通过id获取刚创建的元素
  var pidElement=document.getElementById("pid");
  alert(pidElement.getAttribute("id"));

 

八、创建新文本节点

createTextNode()
创建一个包含着给定文本的新文本节点。这个方法的返回值是一个指向新建文本节点引用指针。
  var textNode = document.createTextNode(text);
方法只有一个参数:新建文本节点所包含的文本字符串
方法的返回值:是一个指向新建节点的引用指针。它是一个文本节点,所以它的 nodeType 属性等于 3.
新元素节点不会自动添加到文档里,新节点没有 nodeParent 属性

      var pElementText=document.createElement("li");
  var textElement=document.createTextNode("南京");
  pElementText.appendChild(textElement);

九、插入节点(1)

appendChild()
为给定元素增加一个子节点:                                  
   var newreference = element.appendChild(newChild).             
   给定子节点 newChild 将成为给定元素节点 element 的最后一个子节点。
方法的返回值是一个指向新增子节点的引用指针。
该方法通常与 createElement() createTextNode() 配合使用
新节点可以被追加给文档中的任何一个元素

 var newliElement=document.createElement("li");
 var textNode=document.createTextNode("北京");
 newliElement.appendChild(textNode);
 document.body.appendChild(newliElement); var liElement=document.getElementsByTagName("li");
 var textValue=liElement[0].firstChild.nodeValue;
 alert(textValue);

十、删除节点

removeChild()
从一个给定元素里删除一个子节点
   var reference = element.removeChild(node);
返回值是一个指向已被删除的子节点的引用指针。
某个节点被removeChild()方法删除时,这个节点所包含的所有子节点将同时被删除。

 <ul id="city">  <li value="beijing^" id="beijing">北京</li> </ul>
 var ulElement=document.getElementById("city");
 var liElement=document.getElementById("beijing");
 ulElement.removeChild(liElement);

如果想删除某个节点,但不知道它的父节点是哪一个,parentNode 属性可以帮忙。

 <ul id="city">  <li value="beijing^" id="beijing">北京</li> </ul>
   var liElement=document.getElementById("beijing");
   var parentElement=liElement.parentNode;
   parentElement.removeChild(liElement);

十一、遍历节点树

ChildNodes:返回一个数组,这个数组由给定元素节点的子节点构成:
 var nodeList = node.childNodes;
文本节点和属性节点都不可能再包含任何子节点,所以它们的 ChildNodes 属性永远会返回一个空数组。
如果想知道某个元素有没有子节点,可以用 hasChildNodes 方法。
如果想知道某个元素有多少个子节点,可以用 childNodes 数组的 length 属性。
childNodes 属性是一个只读属性。

十二、获取第一个子节点

firstChild:该属性返回一个给定元素节点的第一个子节点,返回这个节点对象的指针。
    var reference = node.firstChild;
文本节点和属性节点都不可能包含任何子节点,所以它们的 firstChild 属性永远会返回 null。
某个元素的 firstChild 属性等价于这个元素的 childNodes 节点集合中的第一个节点,即:
  var reference = node.ChildNodes[0];
firstChild 属性是一个只读属性。

十三、获取最后一个子节点

lastChild:对应 firstChild 的一个属性。
nextSibling: 返回一个给定节点的下一个兄弟节点。
parentNode:返回一个给定节点的父节点。
parentNode 属性返回的节点永远是一个元素节点,因为只有元素节点才有可能包含子节点。
document 节点的没有父节点。
previousSibling:返回一个给定节点的上一个兄弟节点

十四、innerHTML属性

浏览器几乎都支持该属性,但不是 DOM 标准的组成部分。
innerHTML 属性可以用来读,写某给定元素里的 HTML 内容。

<div id="city"></div>  
var divElement=document.getElementById("city");  
divElement.innerHTML="<li value='beijing^'' id='beijing'>北京</li>"; 
Javascript 相关文章推荐
解决火狐浏览器下JS setTimeout函数不兼容失效不执行的方法
Nov 14 Javascript
js前台分页显示后端JAVA数据响应
Mar 18 Javascript
JS OffsetParent属性深入解析
Jan 13 Javascript
jQuery实现径向动画菜单效果
Jul 17 Javascript
JavaScript程序设计之JS调试
Dec 09 Javascript
Javascript获取数组中的最大值和最小值的方法汇总
Jan 01 Javascript
javascript嵌套函数和在函数内调用外部函数的区别分析
Jan 31 Javascript
bootstrap jquery dataTable 异步ajax刷新表格数据的实现方法
Feb 10 Javascript
Bootstrap的popover(弹出框)在append后弹不出(失效)
Feb 27 Javascript
Vue 兄弟组件通信的方法(不使用Vuex)
Oct 26 Javascript
使用VScode 插件debugger for chrome 调试react源码的方法
Sep 13 Javascript
vue+django实现下载文件的示例
Mar 24 Vue.js
onkeydown事件解决按回车键直接提交数据的需求
Apr 11 #Javascript
jQuery实用基础超详细介绍
Apr 11 #Javascript
在js中判断checkboxlist(.net控件客户端id)是否有选中
Apr 11 #Javascript
jQuery实现 注册时选择阅读条款 左右移动
Apr 11 #Javascript
基于jquery实现后台左侧菜单点击上下滑动显示
Apr 11 #Javascript
基于jquery实现点击左右按钮图片横向滚动
Apr 11 #Javascript
你的 mixin 真的兼容 ECMAScript 5 吗?
Apr 11 #Javascript
You might like
PHP以及MYSQL日期比较方法
2012/11/29 PHP
PHP树-不需要递归的实现方法
2016/06/21 PHP
全面解析PHP验证码的实现原理 附php验证码小案例
2016/08/17 PHP
php数据序列化测试实例详解
2017/08/12 PHP
Javascript的并行运算实现代码
2010/11/19 Javascript
yepnope.js 异步加载资源文件
2011/09/08 Javascript
js限制textarea每行输入字符串长度的代码
2012/10/31 Javascript
终于解决了IE8不支持数组的indexOf方法
2013/04/03 Javascript
javascript通过元素id和name直接取得元素的方法
2015/04/28 Javascript
js实现YouKu的漂亮搜索框效果
2015/08/19 Javascript
jQuery+CSS3折叠卡片式下拉列表框实现效果
2015/11/02 Javascript
分享JavaScript与Java中MD5使用两个例子
2015/12/23 Javascript
javascript实现表单验证
2016/01/29 Javascript
AngularJs Javascript MVC 框架
2016/06/20 Javascript
理解 javascript 中的函数表达式与函数声明
2017/07/07 Javascript
VUE中使用Vue-resource完成交互
2017/07/21 Javascript
JS 验证码功能的三种实现方式
2018/11/26 Javascript
使用React手写一个对话框或模态框的方法示例
2019/04/25 Javascript
如何基于layui的laytpl实现数据绑定的示例代码
2020/04/10 Javascript
JavaScript前后端JSON使用方法教程
2020/11/23 Javascript
[50:17]Newbee vs Serenity 2018国际邀请赛小组赛BO2 第二场 8.17
2018/08/18 DOTA
在类Unix系统上开始Python3编程入门
2015/08/20 Python
Python实现字典依据value排序
2016/02/24 Python
Python实现简单的HttpServer服务器示例
2017/09/25 Python
Python3的介绍、安装和命令行的认识(推荐)
2018/10/20 Python
python 实现视频 图像帧提取
2019/12/10 Python
python模拟实现分发扑克牌
2020/04/22 Python
如何将PySpark导入Python的放实现(2种)
2020/04/26 Python
Python计算矩阵的和积的实例详解
2020/09/10 Python
python从PDF中提取数据的示例
2020/10/30 Python
Python如何telnet到网络设备
2021/02/18 Python
CSS3实现滚动条动画效果代码分享
2016/08/03 HTML / CSS
UNIX命令速查表
2012/03/10 面试题
法制宣传教育方案
2014/05/09 职场文书
幼儿园教师个人工作总结2015
2015/05/12 职场文书
k-means & DBSCAN 总结
2021/04/27 Python