簡(jiǎn)單實(shí)現(xiàn)JS對(duì)dom操作封裝
這篇文章主要介紹了JS簡(jiǎn)單實(shí)現(xiàn)對(duì)dom操作封裝,下面就直接上代碼:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title>js</title> </head> <body> <div id="aa">測(cè)試</div> </body> <script type="text/javascript"> //duquery (function(w){//定義立即執(zhí)行函數(shù),傳入全局對(duì)象window function duquery(id){//定義函數(shù),實(shí)現(xiàn)去new的操作, function Duquery(id){//定義類 this.ele=document.getElementById(id);//id查找 return this;//返回對(duì)象 }; Duquery.prototype.html=function(val){//利用原型添加設(shè)置html的方法 this.ele.innerHTML=val; return this;//返回對(duì)象,執(zhí)行后可鏈?zhǔn)讲僮? }; Duquery.prototype.attr=function(key,val){//添加設(shè)置屬性的方法 this.ele.setAttribute(key,val); return this; }; Duquery.prototype.css=function(key,val){//添加設(shè)置樣式的方法 this.ele.style[key]=val; return this; }; Duquery.prototype.on=function(event,fun){ this.ele.addEventListener(event,fun,false); return this; }; return new Duquery(id);//去new處理,返回實(shí)例對(duì)象 }; duquery.wait=function(time,fun){//添加延時(shí)靜態(tài)方法,可通過函數(shù)名直接使用 setTimeout(fun,time); }; duquery.each=function(arr,callback){//添加遍歷迭代靜態(tài)方法 for(var key in arr){ callback(key,arr[key]); }; }; w.$$=w.duquery=duquery;//類追加到全局對(duì)象自定義屬性上,可直接調(diào)用 })(window); //code window.onload=function(){ //類的使用和操作 $$("aa").attr("bb","456").css("height","200px"); $$.wait(5000,function(){$$("aa").html("好的")}); $$("aa").on("click",function(){ $$("aa").html("事件").css("color","#ffa"); }); $$.each([1,2,3,4,5,6],function(index,val){ if(val==3){ alert(val); }else{ }; }); }; </script> </html>
再為大家分享一個(gè)js常用DOM操作,代碼如下
<html> <head></head> <body> <form id="myform"> <input type="text" value="獲取id" id="getId" > <input type="button" value="huhu" id="getId1" > <span>努力學(xué)習(xí)</span> </form> <script> //DOM 對(duì)象方法 //getElementById返回帶有指定 ID 的元素 /*var byid = document.getElementById("getId"); alert(byid.value); //獲取id //getElementsByTagName返回包含帶有指定標(biāo)簽名稱的所有元素的節(jié)點(diǎn)列表(集合/節(jié)點(diǎn)數(shù)組) var tagname = document.getElementsByTagName("input"); alert(tagname[0].value); //獲取id //createElement創(chuàng)建元素節(jié)點(diǎn) var myform = document.getElementById("myform"); var e = document.createElement("input"); //創(chuàng)建input元素 e.type="button"; //給input的type定義值 e.value="嘻嘻哈哈"; //給input的value定義值 //appendChild() 把新的子節(jié)點(diǎn)添加到指定節(jié)點(diǎn) myform.appendChild(e); //往form里添加創(chuàng)建好的input表單 //insertBefore() 在指定的子節(jié)點(diǎn)前面插入新的子節(jié)點(diǎn) document.body.insertBefore(e,myform); //把input添加到form前面 //createAttribute()創(chuàng)建屬性節(jié)點(diǎn) var att=document.createAttribute("class"); att.value="democlass"; //setAttributeNode()方法添加新的屬性節(jié)點(diǎn) document.getElementsByTagName("input")[0].setAttributeNode(att); //createElement創(chuàng)建元素節(jié)點(diǎn) var newel = document.createElement("p"); //createTextNode() 方法創(chuàng)建新的文本節(jié)點(diǎn) newtext=document.createTextNode('xixihaha'); //appendChild() 把新的子節(jié)點(diǎn)添加到指定節(jié)點(diǎn) newel.appendChild(newtext); //appendChild() 把新的子節(jié)點(diǎn)添加到指定節(jié)點(diǎn) myform.appendChild(newel); // setAttribute() 可以在屬性不存在的情況下創(chuàng)建新的屬性,我們可以使用這個(gè)方法來創(chuàng)建新屬性 x=document.getElementsByTagName("input"); x[0].setAttribute("asdasd","first"); //replaceChild() 方法用于替換節(jié)點(diǎn) //第一個(gè)參數(shù)是新的節(jié)點(diǎn) //第二個(gè)參數(shù)是舊的節(jié)點(diǎn)(要被替換掉的節(jié)點(diǎn)) var y1=document.getElementsByTagName("input")[1]; var y2=document.getElementsByTagName("input")[2]; myform.replaceChild(y2,y1); //removeChild() 方法刪除指定的節(jié)點(diǎn) //當(dāng)已定位需要?jiǎng)h除的節(jié)點(diǎn)時(shí),就可以通過使用 parentNode 屬性和 removeChild() 方法來刪除此節(jié)點(diǎn) var span1=document.getElementsByTagName("span")[0]; span1.parentNode.removeChild(span1); */ </script> </body> </html>
以上就是js針對(duì)DOM 的相關(guān)常用操作,希望對(duì)大家的學(xué)習(xí)有所幫助。
- js使用DOM操作實(shí)現(xiàn)簡(jiǎn)單留言板的方法
- javascript拓展DOM操作 prependChild insertAfert
- javascript DOM操作之動(dòng)態(tài)刪除TABLE多行
- javascript中HTMLDOM操作詳解
- JavaScript DOM操作表格及樣式
- JavaScript基礎(chǔ)語(yǔ)法、dom操作樹及document對(duì)象
- JavaScript基于Dom操作實(shí)現(xiàn)查找、修改HTML元素的內(nèi)容及屬性的方法
- Javascript里使用Dom操作Xml
- JavaScript中 DOM操作方法小結(jié)
- JavaScript學(xué)習(xí)筆記之DOM操作實(shí)例分析
相關(guān)文章
關(guān)于js二維數(shù)組和多維數(shù)組的定義聲明(詳解)
下面小編就為大家?guī)硪黄P(guān)于js二維數(shù)組和多維數(shù)組的定義聲明(詳解)。小編覺得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2016-10-10mock.js模擬數(shù)據(jù)實(shí)現(xiàn)前后端分離
這篇文章主要為大家詳細(xì)介紹了mock.js模擬數(shù)據(jù)實(shí)現(xiàn)前后端分離,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2019-07-07使用JavaScript?將數(shù)據(jù)網(wǎng)格綁定到?GraphQL?服務(wù)的操作方法
GraphQL是管理JavaScript應(yīng)用程序中數(shù)據(jù)的優(yōu)秀工具,本教程展示了GraphQL和SpreadJS如何簡(jiǎn)單地構(gòu)建應(yīng)用程序,?GraphQL?和?SpreadJS都有更多功能可供探索,因此您可以做的事情遠(yuǎn)遠(yuǎn)超出了這個(gè)示例,感興趣的朋友一起看看吧2023-11-11javascript獲取元素文本內(nèi)容的通用函數(shù)
獲取元素文本內(nèi)容的通用函數(shù),思路很好值得參考。2009-12-12JS實(shí)現(xiàn)秒殺倒計(jì)時(shí)特效
這篇文章主要為大家詳細(xì)介紹了JS實(shí)現(xiàn)秒殺倒計(jì)時(shí)特效,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2020-01-01JS實(shí)現(xiàn)帶有抽屜效果的產(chǎn)品類網(wǎng)站多級(jí)導(dǎo)航菜單代碼
這篇文章主要介紹了JS實(shí)現(xiàn)帶有抽屜效果的產(chǎn)品類網(wǎng)站多級(jí)導(dǎo)航菜單代碼,涉及JavaScript動(dòng)態(tài)操作頁(yè)面元素屬性的技巧,整體界面效果美觀大方,具有極強(qiáng)的立體感,需要的朋友可以參考下2015-09-09