在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下拉选择框
Nov 20 Javascript
jquery中each遍历对象和数组示例
Aug 05 Javascript
jquery操作复选框checkbox的方法汇总
Feb 05 Javascript
jQuery使用$.ajax提交表单完整实例
Dec 11 Javascript
JS函数修改html的元素内容,及修改属性内容的方法
Oct 28 Javascript
Bootstrap table简单使用总结
Feb 15 Javascript
关于Node.js中Buffer的一些你可能不知道的用法
Mar 28 Javascript
微信小程序实战之自定义抽屉菜单(7)
Apr 18 Javascript
在iFrame子页面里实现模态框的方法
Aug 17 Javascript
vue项目中运用webpack动态配置打包多种环境域名的方法
Jun 24 Javascript
JavaScript交换两个变量方法实例
Nov 25 Javascript
JavaScript事件冒泡机制原理实例解析
Jan 14 Javascript
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
动漫女神老婆无限好,但日本女生可能就不是这么一回事了!
2020/03/04 日漫
php 来访国内外IP判断代码并实现页面跳转
2009/12/18 PHP
Redis在Laravel项目中的应用实例详解
2017/08/11 PHP
tp5(thinkPHP5框架)时间查询操作实例分析
2019/05/29 PHP
根据判断浏览器类型屏幕分辨率自动调用不同CSS的代码
2007/02/22 Javascript
JS应用之禁止抓屏、复制、打印
2008/02/21 Javascript
JQuery中如何传递参数如click(),change()等具体实现
2013/04/28 Javascript
Jquery实现的角色左右选择特效
2014/05/21 Javascript
jquery删除指定子元素代码实例
2015/01/13 Javascript
使用snowfall.jquery.js实现爱心满屏飞的效果
2017/01/05 Javascript
Bootstrap组合上、下拉框简单实现代码
2017/03/06 Javascript
ES6教程之for循环和Map,Set用法分析
2017/04/10 Javascript
ES6模块化的import和export用法方法总结
2017/08/08 Javascript
深入浅析Vue.js中 computed和methods不同机制
2018/03/22 Javascript
解决vue的变量在settimeout内部效果失效的问题
2018/08/30 Javascript
Iview Table组件中各种组件扩展的使用
2018/10/20 Javascript
Javascript之高级数组API的使用实例
2019/03/08 Javascript
Python 爬虫之超链接 url中含有中文出错及解决办法
2017/08/03 Python
python3库numpy数组属性的查看方法
2018/04/17 Python
Pycharm代码无法复制,无法选中删除,无法编辑的解决方法
2018/10/22 Python
Python传递参数的多种方式(小结)
2019/09/18 Python
python如何调用百度识图api
2020/09/29 Python
HTML5中的Article和Section元素认识及使用
2013/03/22 HTML / CSS
HTML5梦幻之旅——炫丽的流星雨效果实现过程
2013/08/06 HTML / CSS
HTML5单选框、复选框、下拉菜单、文本域的实现代码
2020/12/01 HTML / CSS
Nisbets爱尔兰:英国最大的厨房和餐饮设备供应商
2019/01/26 全球购物
空字符串(“”)和null的区别
2012/11/13 面试题
会计自我鉴定
2013/11/02 职场文书
蔬菜基地的创业计划书
2014/01/06 职场文书
护理专业大学生自我推荐信
2014/01/25 职场文书
婚礼答谢词范文
2015/09/29 职场文书
幼师自荐信范文(2016推荐篇)
2016/01/28 职场文书
幼儿园2016年感恩节活动总结
2016/04/01 职场文书
pytorch 实现多个Dataloader同时训练
2021/05/29 Python
只用50行Python代码爬取网络美女高清图片
2021/06/02 Python
详解nginx进程锁的实现
2021/06/14 Servers