当前位置: 首页 > 图文教程 > Java技术 > Java基础 > Java基础:小编谈Javascript之DOM的使用(25条)

Java基础
java基础:小编浅谈java对象
Java基础:孙鑫谈Java中文乱码问题产生原因分析(一)
Java基础:孙鑫谈Java中文乱码问题产生原因分析(二)
Java基础:小编谈JDBC
Java基础:小编详谈Java编码规则并不是老生常谈
Java基础:小编详谈AOP概念
Java基础:小编谈java多维数组
Java基础:小编谈Javascript之DOM的使用(25条)
Java基础:小编杂谈动态语言
Java基础:程序员之家七月份Java基础总结
Java基础:XHTML中css+div布局(经典8条)
Java基础:小编浅谈Spring基于三大模板的Web表示层技术
Java基础:浅谈多线程那点事
Javai基础:浅谈封装的那些事
Java基础:小编浅谈JavaScript中自定义函数那些事
Java基础:小编谈JavaScript中使用原型来创建对象
Java基础:CSS那些事
Java基础:小编对JavaScript的一些认识
Java基础:小编浅谈JavaScript与Java区别何在
Java基础:小编谈继承的语法

Java基础:小编谈Javascript之DOM的使用(25条)


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-08-14   浏览: 116 ::
收藏到网摘: n/a

DOMDocument Object Model文档对象模型的缩写。DOM是一种与浏览器,平台,语言无关的接口,使得你可以访问页面其他的标准组件。简单理解,DOM解决了NetscapeJavascriptMicrosoftJscript之间的冲突,给予web设计师和开发者一个标准的方法,让他们来访问他们站点中的数据、脚本和表现层对像。

1.document.getElementById(id);--在文档里面通过id来找结点

2.document.getElementByTagName(tagName);--返回一个数组,包含对这些结点的引用

3.element.childNodes--返回element的所有子结点,可以用element.childNodes[i]的方式来调用

       --element.firstChild=element.childNodes[0];

       --element.lastChild=element.childNodes[element.childNonts.length-1];

4.element.parentNode --引用父结点

5.element.nextSibling;   //引用下一个兄弟结点

    element.previousSibling; //引用上一个兄弟结点

6.nodeName属性获得结点名称

       --对于元素结点返回的是标记名称,如:<a herf><a>返回的是"a"

       --对于属性结点返回的是属性名称,如:class="test" 返回的是test

       --对于文本结点返回的是文本的内容

7.nodeType返回结点的类型

       --元素结点返回1

       --属性结点返回2

       --文本结点返回3

8.nodeValue返回结点的值

       --元素结点返回null

       --属性结点返回undefined

       --文本结点返回文本内容

9.hasChildNodes()判断是否有子结点

10.tagName属性返回元素的标记名称

       --这个属性只有元素结点才有,等同于元素结点的nodeName属性

11.每个属性结点都是元素结点的一个属性,可以通过(元素结点.属性名称)访问

12.利用setAttribute()方法给元素结点添加属性

       --elementNode.setAttribute(attributeName,attributeValue);

       --attributeName为属性的名称,attributeValue为属性的值

13.使用getAttribute()方法获得属性值

       --elementNode.getAttribute(attributeName);

       <script language"javaScript" type="text/javascript">

          function cleanWhitespace(element)

          {

             for(var i=0; i<element.childNotes.length; i++)

             {

                var node = element.childNodes[i];

                if(node.nodeType == 3 && !/\S/.test(node.nodeValue))

                {

                   node.parentNode.removeChild(node);

                }

             }

          }

       </script>

15.document.createElement()方法创建元素结点

       --如:document.createElement("Span");

16.document.createTextNode()方法创建文本结点

       --如:document.createTextNode("&nbsp;"); //:他不会通过html编码,也就是说这里创建的不是空格,而是字符串&nbsp;

17.使用appendChild()方法添加结点

       --parentElement.appendChild(childElement);

18.使用insertBefore()方法插入子节点

       --parentNode.insertBefore(newNode,referenceNode);

       --newNode为插入的节点,referenceNode为将插入的节点插入到这之前

19.使用replaceChild方法取代子结点

       --parentNode.replaceChild(newNode,oldNode);

       --注:oldNode必须是parentNode的子结点,

20.使用cloneNode方法复制结点

       --node.cloneNode(includeChildren);

       --includeChildrenbool,表示是否复制其子结点

21.使用removeChild方法删除子结点

       --parentNode.removeChild(childNode);

22.添加行和单元格

       var _table=document.createElement("table");   //创建表

       table.insertRow(i);                   //table的第i行插入行

       row.insertCell(i);                      //row的第i个位置插入单元格

23.引用单元格对象

       --table.rows[i].cells[i];

24.删除行和单元格

       --table.deleteRow(index);

       --row.deleteCell(index);

25.交换两行获得两个单元格的位置

       node1.swapNode(node2);

       --这个方法在firefox中将出错

       通用方法:

       function swapNode(node1,node2)

       {

          var _parent=node1.parentNode;

          var _t1=node1.nextSubling;

          var _t2=node2.nextSubling;

          if(_t1)parent.insertBefore(node2,_t1);

          else _parent.appendChild(node2);        

          if(_t2)parent.insertBefore(node1,_t2);

          else _parent.appendChild(node1);

        }