zl程序教程

您现在的位置是:首页 >  前端

当前栏目

在javascript中关于节点内容加强

JavaScript节点 关于 内容 加强
2023-06-13 09:14:49 时间

一、元素节点

复制代码代码如下:

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

二、属性节点

复制代码代码如下:

[/c//测试属性节点,输出属性节点名称,节点的类型,节点的值
 varliElements=document.getElementsByTagName("li");
 for(vari=0;i<liElements.length;i++){
     varattrElement=liElements[i].getAttributeNode("value")
     alert("attrElement.nodeName"+attrElement.nodeName);
     alert("attrElement.nodeType"+attrElement.nodeType);
     alert("attrElement.nodeValue"+liElements[i].getAttribute("value"));
 }ode]

三、文本节点
[code]
 //测试元素节点,输出节点名称,节点的类型,节点的值
 varliElements=document.getElementsByTagName("li");
 for(vari=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()
把一个给定父元素里的一个子节点替换为另外一个子节点
 varreference=element.replaceChild(newChild,oldChild);
返回值是一个指向已被替换的那个子节点的引用指针。
如果被插入的子节点还有子节点,则那些子节点也被插入到目标节点中

复制代码代码如下:
 //方法一
// varcityElement=document.getElementById("city");
// varloveElement=document.getElementById("love");
// varcityChildElement=document.getElementById("beijing");
// varloveChildElement=document.getElementById("fankong");
// varoldElement=cityElement.replaceChild(loveChildElement,cityChildElement);
// loveElement.appendChild(oldElement);
// alert(oldElement.getAttribute("id"));

 varcityElement=document.getElementById("city");
        cityElement.onclick=function(){
        varcityChildElement=document.getElementById("beijing");
        varloveChildElement=document.getElementById("fankong");
        varoldElement=cityElement.replaceChild(loveChildElement,cityChildElement);
        loveElement.appendChild(oldElement);
        alert(oldElement.getAttribute("id"));
 }

五、查找属性节点

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


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

  //通过属性名获取属性的值
    var bjElement=document.getElementById("bj");
    varattributeValue=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>

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

 

七、创建新元素节点

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

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

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

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

 

八、创建新文本节点

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

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


九、插入节点(1)

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

复制代码代码如下:
 varnewliElement=document.createElement("li");
 vartextNode=document.createTextNode("北京");
 newliElement.appendChild(textNode);
 document.body.appendChild(newliElement);

 varliElement=document.getElementsByTagName("li");
 vartextValue=liElement[0].firstChild.nodeValue;
 alert(textValue);

十、删除节点

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

复制代码代码如下:
 <ulid="city"> <livalue="beijing^"id="beijing">北京</li></ul>
 varulElement=document.getElementById("city");
 varliElement=document.getElementById("beijing");
 ulElement.removeChild(liElement);

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

复制代码代码如下:
 <ulid="city"> <livalue="beijing^"id="beijing">北京</li></ul>
  varliElement=document.getElementById("beijing");
  varparentElement=liElement.parentNode;
  parentElement.removeChild(liElement);

十一、遍历节点树

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


十二、获取第一个子节点

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


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

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


十四、innerHTML属性

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

复制代码代码如下:
<divid="city"></div> 
vardivElement=document.getElementById("city"); 
divElement.innerHTML="<livalue="beijing^""id="beijing">北京</li>";