html代码:

<body onload ="loaded12()">
<form name="form1" action="http://www.baidu.com" method="post">
姓名:<label ><input type="text" name="name"/></label><br/>
年龄:<label ><input type="text" name="age"/></label><br/>
<input type="submit" name="submit" value="提交" onclick="submitClick()" />
<input type="reset" name="reset" value="重置"/>
<input type="image" name="image">
</form>
<h1 id="title">好人一生平安</h1>
</body>

遍历节点

function loaded12(){
var txt="";
var c=document.body.childNodes;
for (i=0; i<c.length; i++)
{
txt=txt + c[i].nodeName + "-" + c[i].nodeType+ "-"+c[i].nodeValue+" ";
};
alert(txt);
}

改变节点的值:下面两句代码等价

 document.getElementById("title").childNodes[0].nodeValue= "我是标题";
document.getElementById("title").innerHtml="我是标题";

改变属性:

document.getElementById("title").childNodes[0].nodeValue= "我是标题";//下面两句等价
document.getElementById("title").setAttribute("style","background: red;");
document.getElementById("title").style.background="red";

添加节点:

var tilte = document.getElementById("title");
img = document.createElement("IMG");
img.src="123.png";
title.appendChild(img);
 
var msg ="提示,我是好人,我要回家******8啦啦啦啦啦啦啦。。。。。。";
var newpncode = document.createElement("p");
var newtext = document.createTextNode(msg);
newpncode.appendChild(newtext);
var body = document.getElementById("body");
body.appendChild(newpncode);

删除节点:注意url中间不能有空格,不然第一次删除的是空白节点,不过在ie上不解析空白节点,是没有问题的

<ul id="myList"><li>购物</li><li>游戏</li><li>电影</li></ul>
<p id="demo">wohsi fwapgje53</p>
<input type="button" value="开始遍历" onclick="deleteNodes()"> <script type="text/javascript">
function deleteNodes(){ var list=document.getElementById("myList");
list.removeChild(list.childNodes[0]); }
</script>

遍历body下的节点:(注意:获取body对象方法是document.body而不是document.getElementsByTagName("body"))

var walker = null;//引用迭代器
var list = "";//
var filter = new Object;
filter.acceptNode = function(){
return NodeFilter.FILTER_ACCEPT;//
} var rootnode=document.body; // walker = document.createTreeWalker(rootnode,NodeFilter.SHOW_ELEMENT,null,false) walker = document.createTreeWalker(rootnode,NodeFilter.SHOW_ELEMENT,filter,false); while(walker.nextNode()){
list+=walker.currentNode.tagName+"\n";
}
alert(list);

JS DOM节点的更多相关文章

  1. JS Dom节点操作demo!

    通过黑马课程的学习,在这里分享一个js Dom中节点操作的小练习 需求:使用js创建一个4*3的表格table. onload = function(){ function c(tagName){ r ...

  2. JS DOM节点增删改查 属性设置

    一.节点操作 增 createElement(name)创建元素 appendChild();将元素添加   删 获得要删除的元素 获得它的父元素 使用removeChild()方法删除 改 第一种方 ...

  3. JS DOM节点(当前标签和同级、父级、子级..之间的关系)

    1. 通过顶层document节点获取    1) document.getElementById(elementId) //根据id获得    2) document.getElementsByNa ...

  4. js DOM 节点树 设置 style 样式属性

    <!DOCTYPE html> <html> <head> <meta http-equiv="Content-Type" content ...

  5. JS DOM节点的增删改查

    合并拆分 行内样式  script写在html里面

  6. JS学习之DOM节点的关系属性封装、克隆节点、Dom中Style常用的一些属性等小结

    JS DOM节点: 在JS DOM中节点的关系被定义为节点的属性: 通常有以下几种节点之间的关系: (这里的关系是所有浏览器都支持的) parentNode    父节点 childNodes     ...

  7. 原生js快速渲染dom节点

    function renderDom(str){ var _div = document.createElement('div'); _div.innerHTML = str; var dom_tem ...

  8. js获取节点的DOM操作

    一直感觉DOM节点什么的乱七八糟的不能理解,可能博客也没办法写清楚,只能把知道的一些信息大致写下来慢慢再补充了. HTML DOM类型 Node类型 Javascript中的所有节点类型都继承自Nod ...

  9. JS 操作Dom节点之CURD

    许多优秀的Javascript库,已经封装好了丰富的Dom操作函数,这可以加快项目开发效率.但是对于非常注重网页性能的项目来说,使用Dom的原生操作方法还是必要的. 1. 查找节点 document. ...

随机推荐

  1. mysql分组查询获取组内某字段最大的记录

    id sid cid 1 1 12 1 23 2 1 以sid分组,最后取cid最大的那一条,以上要取第2.3条 1 方法一: select * from (select * from table o ...

  2. VK Cup 2016 - Qualification Round 2 B. Making Genome in Berland

    今天在codeforces上面做到一道题:http://codeforces.com/contest/638/problem/B 题目大意是:给定n个字符串,找到最短的字符串S使得n个字符串都是这个字 ...

  3. input回车问题

    今天有一个问题,就是input对象没有加任何事件自己回车导致跳到了404页面.处理的时候,并发现没找到回车事件的控制. 那么只有一种情况,就是自带的回车控制. 百度了一下,如下面博文里面的写法.我这边 ...

  4. 【mac】php7.1 安装swoole 扩展

    环境依赖: php- 或更高版本 gcc-4.4 或更高版本 make autoconf 下载源代码包后,在终端进入源码目录,执行下面的命令进行编译和安装 https://github.com/swo ...

  5. 【cs229-Lecture12】K-means算法

    上课内容: 无监督学习: K-means聚类算法 混合高斯模型 jensen不等式(用于推导出EM算法的一般形式) EM(Expectation Maximization)算法(最大期望算法) K-m ...

  6. Post Office Protocol --- pop协议

    https://en.wikipedia.org/wiki/Simple_Mail_Transfer_Protocol

  7. rpmdb: unable to join the environment的问题解决

    今天笔者在Centos 6.3上使用yum安装lsof软件时,报如下错误: [root@ ~]# yum install lsof -y rpmdb: unable to join the envir ...

  8. 【Android】Android import和export使用说明 及 export报错:jarlist.cache: Resource is out of sync with the file syst解决

    在Android开发export项目时发现有时会报错,内容如下: Problems were encountered during export:  Error exporting PalmIdent ...

  9. thinkphp----替换写标签的方法

    在用thinkphp写cmf的时候,考虑到一些方法的复用,所以考虑使用写标签. 写标签的好处在于:通用,而且比较容易看,但是封装一个标签,个人觉得还是比较麻烦,想了想 thinkcmf 调用文章的方式 ...

  10. CodeForces 832B Petya and Exam

    B. Petya and Exam time limit per test 2 seconds memory limit per test 256 megabytes input standard i ...