在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 相关文章推荐
javascript 模拟点击广告
Jan 02 Javascript
javascript 二分法(数组array)
Apr 24 Javascript
jquery.post用法之type设置问题
Feb 24 Javascript
防止按钮在短时间内被多次点击的方法
Mar 10 Javascript
Node.js中使用Buffer编码、解码二进制数据详解
Aug 16 Javascript
js生成的验证码的实现与技术分析
Sep 17 Javascript
使用JavaScript刷新网页的方法
Jun 04 Javascript
微信公众平台开发教程(四) 实例入门:机器人回复(附源码)
Dec 02 Javascript
Koa项目搭建过程详细记录
Apr 12 Javascript
Vue在 Nuxt.js 中重定向 404 页面的方法
Apr 23 Javascript
详解微信小程序动画Animation执行过程
Sep 23 Javascript
vue3.0+vue-router+element-plus初实践
Dec 02 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
单一index.php实现PHP任意层级文件夹遍历(Zjmainstay原创)
2012/07/31 PHP
php页面消耗内存过大的处理办法
2013/03/18 PHP
PHP中怎样防止SQL注入分析
2014/10/23 PHP
jQuery ui1.7 dialog只能弹出一次问题
2009/08/27 Javascript
JavaSript中变量的作用域闭包的深入理解
2014/05/12 Javascript
如何在MVC应用程序中使用Jquery
2014/11/17 Javascript
js实现基于正则表达式的轻量提示插件
2015/08/29 Javascript
基于jQuery日历插件制作日历
2016/03/11 Javascript
bootstrapfileinput实现文件自动上传
2016/11/08 Javascript
JavaScript动态数量的文件上传控件
2016/11/18 Javascript
概述BootStrap中role=&quot;form&quot;及role作用角色
2016/12/08 Javascript
详解本地Node.js服务器作为api服务器的解决办法
2017/02/28 Javascript
通过示例彻底搞懂js闭包
2017/08/10 Javascript
this.$toast() 了解一下?
2019/04/18 Javascript
利用Vue实现一个markdown编辑器实例代码
2019/05/19 Javascript
vue 父组件中调用子组件函数的方法
2019/06/06 Javascript
python获取糗百图片代码实例
2013/12/18 Python
Python中的异常处理相关语句基础学习笔记
2016/07/11 Python
Python使用struct处理二进制的实例详解
2017/09/11 Python
Python实战小程序利用matplotlib模块画图代码分享
2017/12/09 Python
python验证码识别实例代码
2018/02/03 Python
详解python的sorted函数对字典按key排序和按value排序
2018/08/10 Python
浅谈django rest jwt vue 跨域问题
2018/10/26 Python
python 遍历列表提取下标和值的实例
2018/12/25 Python
Python3 requests文件下载 期间显示文件信息和下载进度代码实例
2019/08/16 Python
Python 2种方法求某个范围内的所有素数(质数)
2020/01/31 Python
python中如何打包用户自定义模块
2020/09/23 Python
Lacoste美国官网:经典POLO衫品牌
2016/10/12 全球购物
英国奢侈皮具品牌:Aspinal of London
2018/09/02 全球购物
电子商务专业个人的自我评价
2013/11/19 职场文书
售后服务承诺书
2014/03/26 职场文书
运动会报道稿大全
2015/07/23 职场文书
个人售房合同协议书
2016/03/21 职场文书
高考升学宴主持词
2019/06/21 职场文书
详解jQuery的核心函数和事件处理
2022/02/18 jQuery
TaiShan 200服务器安装Ubuntu 18.04的图文教程
2022/06/28 Servers