DOM与DOM详解

2023-01-13 0 664

特别注意:操作方式 dom 要等结点初始化完后,就可以竭尽全力。 即 domready,作法三种:

1).把 script 初始化条码移到 html 结尾方可;

2).采用 onload 该事件来处置 JS,等候 html 读取完再读取 onload 该事件里的 JS。

window.onload = function () { //预读取 html 后竭尽全力执行};

1)、 getElemen

3)、 getElementsByClassName() 依照式样名获取 dom 第一类字符串

<html> <head> <meta charse font-size: 20px; } </style> </head> <body> <p id=”p1″ name=”p” class=”mypara”>自学的安全感才是技术创新的原动力</p> <p id=”p1″ name=”p” class=”mypara”>programming is so easy…</p> 浓厚兴趣 <br/> <input type=”text” value=”天气情况转冷特别注意御寒”/> <br /> <input type=”checkbox” value=”1″ name=”fav”>常量<br /> <input type=”checkbox” value=”2″ name=”fav”>趴床<br/> <input type=”checkbox” value=”3″ name=”fav”>体育运动<br/> <hr /> <a href=”javasclassname获 取原素 </a> </body> <script type=”text/javascript”> /tByTagName(){ var elements =document.getElementsByTagName(“input”); var checkStr =””; for(var i=0;i<elements.length;i++){ var e =elements[i]; if(e.type == “text”){ alert(e.value); }else if(e.type==”checkbox”){ checkStr += e.value+”–“; ClassName(){ var elements =document.getElementsByClassName(“mypara”); for(var i=0;i<elements.length;i++){ alert(elements[i].tagName+”–>”+elements[i].innerHTML); } ByName(“fav”); for(var i=0;i<elements.length;i++){ alert(elements[i].tagName+”->”+elements[i].type+”–>”+ elements[i].value); } } </script> </html>

2、新增结点

DOM 不单单可以查找结点,也可以创建结点、 插入结点

1)、 write() 把任意字符串插入到文档中

document.write(

这是一个段落!

); //输出任意字符串

2)、 createElement() 创建一个原素结点

3)、 appendChild() 将新结点追加到子结点列表的结尾

4)、 createTextNode() 创建一个文件结点

5)、 insertBefore() 把结点创建到指定结点的前面。

6)、 createDocumentFragment() 创建文档碎片结点,作为添加入真正父结点的中间环节,提升效率。

代码1:

<head> <script> function addPara(){ //创建段落 var p =document.createElement(p); //p.innerHTML=”以后的你会感谢现在努力的你”; //或者 var txt=document.createTextNode(“以后的你会感谢现在努力的你”); ); //添加 container.appendChild(p); } function addImg(){ //创建图片 var img = document.createElement(“img”) ; img.src =”http://www.baidu.com/img/bd_lontainer =document.getElementById(“container”); container.appendChild(img); } function addTxt(){ //创建文本框 var txt =document.createElement(“input”); //设置类型 /* txt.type =”text”; txt.value =”添加成功”; */ //或者 txter =document.getElementById(“container”); container.appendChild(txt); } function addOptions(){ //第一种方式 /*//创建下拉项 var option = document.createElement(“opdocument.getElementsByTagName(“select”)[0]; //添加 下拉项 sel.appendChild(option); */ //第二种方式: var option = document.createElement(“option”) ; option.value =select”)[0]; //添加下拉项 sel.options.add(option); //第三种方式: 添加下拉项 /* var sel=document.getElementsByTagName(“select”)[0]; sel.innerHTML=sel.innerHTML + “<option value = 2>油菜花</option>” ;””; */ } </script> </head> <body> <button onclick=”addPara();”>添加段落</button> <button onclick=”addTxt();”>添加文本框</button> <button onclick=”addImg();”>添加图片</button> <button onclick=”addOptions()”>添加选项</button> <br /> <select name=”music”> <option value=”-1″>勋章</option> <option value=”0″>凉凉</option> <option value=”1″>大碗宽面</option> </select> <div id = “container”></div> </body>

代码2:

<head> <script type=”text/javascript”> function insertNode(){ //插入原素 var span=document.createElement(“span”); span.innerHTML =”码农&nbsp;”; var pro =document.getElementById(“progarmmer”); //pro.parentNode.insertBefore(span,null); //等同于 pro.parentNode.appendChild(span) pro.parentNode.insertBefore(span,pro); //在 pro 前添加新原素 } function appendNode(){ //追加原素 var span=document.createElement(“span”); span.innerHTML =”&nbsp;程序媛”; var pro =document.getElementById(“progarmmer”); pro.parentNode.insertBefore(span,pro.nextSibling); //在本原素的后面一 个的前面 } </script> </head> <body> <span id=”progarmmer”>程序猿</span> <span id=”progarmmer_lion”>攻程狮</span> <a href=”javascript:void(0)” onclick=”insertNode();”>前添加</a> <a href=”javascript:void(0)” onclick=”appendNode();”>后追加</a> </body>

3、修改结点

1)、 replaceChild() 将新结点替换旧结点

2)、 cloneNode() 复制结点

<head> <script type=”text/javascript”> function testReplace(){ var progarmmer =document.getElementById(“progarmmer”); var p =document.createElement(“p”); p.innerHTML =”被替换了…”; progarmmer.parentNode.replaceChild(p,progarmmer); } function testClone(){ var progarmmer =document.getElementById(“progarmmer”); var clone = progarmmer.cloneNode(true); //克隆 true 包括内容 progarmmer.parentNode.appendChild(clone); } </script> </head> <body> <span id=”progarmmer”>程序猿</span> <button onclick=”testClone()”>克隆</button> <button onclick=”testReplace()”>替换</button> </body>

4、移除结点

removeChild() 移除结点

<head> <script type=”text/javascript”> function delNode(){ var programmer =document.getElementById(“programmer”); programmer.parentNode.removeChild(programmer); } </script> </head> <body> <span id=”programmer”>程序猿</span> <a href=”javascript:void(0)” onclick=”delNode();”>删除</a> </body>

相关文章

发表评论
暂无评论
官方客服团队

为您解决烦忧 - 24小时在线 专业服务