欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

簡單實現(xiàn)JS對dom操作封裝

 更新時間:2015年12月02日 17:12:33   作者:透筆度_tbd  
這篇文章主要介紹了簡單實現(xiàn)JS對dom操作封裝,需要的朋友可以參考下

這篇文章主要介紹了JS簡單實現(xiàn)對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">測試</div>
</body>
<script type="text/javascript">
//duquery
(function(w){//定義立即執(zhí)行函數(shù),傳入全局對象window  
  function duquery(id){//定義函數(shù),實現(xiàn)去new的操作,  
    function Duquery(id){//定義類
      this.ele=document.getElementById(id);//id查找    
      return this;//返回對象
    };
    Duquery.prototype.html=function(val){//利用原型添加設(shè)置html的方法
      this.ele.innerHTML=val;
      return this;//返回對象,執(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處理,返回實例對象
  };
  
  duquery.wait=function(time,fun){//添加延時靜態(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;//類追加到全局對象自定義屬性上,可直接調(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>

再為大家分享一個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 對象方法
 
//getElementById返回帶有指定 ID 的元素
 
/*var byid = document.getElementById("getId");
alert(byid.value);      //獲取id
 
//getElementsByTagName返回包含帶有指定標(biāo)簽名稱的所有元素的節(jié)點列表(集合/節(jié)點數(shù)組)
 
var tagname = document.getElementsByTagName("input");
alert(tagname[0].value);    //獲取id
 
//createElement創(chuàng)建元素節(jié)點
 
var myform = document.getElementById("myform");
var e = document.createElement("input");    //創(chuàng)建input元素
 
e.type="button";                //給input的type定義值
e.value="嘻嘻哈哈";                //給input的value定義值
 
//appendChild() 把新的子節(jié)點添加到指定節(jié)點
 
myform.appendChild(e);              //往form里添加創(chuàng)建好的input表單
 
//insertBefore() 在指定的子節(jié)點前面插入新的子節(jié)點
 
document.body.insertBefore(e,myform);      //把input添加到form前面            
 
//createAttribute()創(chuàng)建屬性節(jié)點
 
var att=document.createAttribute("class");
att.value="democlass";
 
//setAttributeNode()方法添加新的屬性節(jié)點
 
document.getElementsByTagName("input")[0].setAttributeNode(att);
 
//createElement創(chuàng)建元素節(jié)點
 
var newel = document.createElement("p");
 
//createTextNode() 方法創(chuàng)建新的文本節(jié)點
 
newtext=document.createTextNode('xixihaha');
 
//appendChild() 把新的子節(jié)點添加到指定節(jié)點
 
newel.appendChild(newtext);
 
//appendChild() 把新的子節(jié)點添加到指定節(jié)點
 
myform.appendChild(newel);
 
// setAttribute() 可以在屬性不存在的情況下創(chuàng)建新的屬性,我們可以使用這個方法來創(chuàng)建新屬性
 
x=document.getElementsByTagName("input");
x[0].setAttribute("asdasd","first");
 
//replaceChild() 方法用于替換節(jié)點
 
//第一個參數(shù)是新的節(jié)點
//第二個參數(shù)是舊的節(jié)點(要被替換掉的節(jié)點)
 
var y1=document.getElementsByTagName("input")[1];
var y2=document.getElementsByTagName("input")[2];
 
myform.replaceChild(y2,y1);
 
//removeChild() 方法刪除指定的節(jié)點
 
//當(dāng)已定位需要刪除的節(jié)點時,就可以通過使用 parentNode 屬性和 removeChild() 方法來刪除此節(jié)點
var span1=document.getElementsByTagName("span")[0];
 
span1.parentNode.removeChild(span1);
*/
 
</script>
 
</body>
</html>

以上就是js針對DOM 的相關(guān)常用操作,希望對大家的學(xué)習(xí)有所幫助。

相關(guān)文章

  • js原生輪播圖插件制作

    js原生輪播圖插件制作

    這篇文章主要為大家詳細(xì)介紹了js原生輪播圖插件制作,文中示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2021-10-10
  • js中replace的用法總結(jié)

    js中replace的用法總結(jié)

    本篇文章主要是對js中replace的用法進(jìn)行了詳細(xì)的總結(jié)介紹,需要的朋友可以過來參考下,希望對大家有所幫助
    2013-12-12
  • 關(guān)于js二維數(shù)組和多維數(shù)組的定義聲明(詳解)

    關(guān)于js二維數(shù)組和多維數(shù)組的定義聲明(詳解)

    下面小編就為大家?guī)硪黄P(guān)于js二維數(shù)組和多維數(shù)組的定義聲明(詳解)。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2016-10-10
  • mock.js模擬數(shù)據(jù)實現(xiàn)前后端分離

    mock.js模擬數(shù)據(jù)實現(xiàn)前后端分離

    這篇文章主要為大家詳細(xì)介紹了mock.js模擬數(shù)據(jù)實現(xiàn)前后端分離,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2019-07-07
  • 使用JavaScript?將數(shù)據(jù)網(wǎng)格綁定到?GraphQL?服務(wù)的操作方法

    使用JavaScript?將數(shù)據(jù)網(wǎng)格綁定到?GraphQL?服務(wù)的操作方法

    GraphQL是管理JavaScript應(yīng)用程序中數(shù)據(jù)的優(yōu)秀工具,本教程展示了GraphQL和SpreadJS如何簡單地構(gòu)建應(yīng)用程序,?GraphQL?和?SpreadJS都有更多功能可供探索,因此您可以做的事情遠(yuǎn)遠(yuǎn)超出了這個示例,感興趣的朋友一起看看吧
    2023-11-11
  • javascript事件委托的方式綁定詳解

    javascript事件委托的方式綁定詳解

    我們在學(xué)習(xí)JavaScript中,難免都會去網(wǎng)上查一些資料。也許偶爾就會遇到“事件委托”,但是,大多數(shù)時說的是“事件綁定”,對于“事件委托”,或是不提,或是淺嘗輒止。對于我這個比較好奇的人來說,實在很蛋疼。尤其是想更多的了解“事件委托”的時候。
    2015-06-06
  • 網(wǎng)頁圖片延時加載的js代碼

    網(wǎng)頁圖片延時加載的js代碼

    大家如果使用firebug去查看的話就會發(fā)現(xiàn),當(dāng)你滾動到相應(yīng)的行時,當(dāng)前行的圖片才即時加載的,這樣子的話頁面在打開只加可視區(qū)域的圖片,而其它隱藏的圖片則不加載,一定程序上加快了頁面加載的速度,對于比較長的頁面來說,這個方案是比較好的。
    2010-04-04
  • javascript獲取元素文本內(nèi)容的通用函數(shù)

    javascript獲取元素文本內(nèi)容的通用函數(shù)

    獲取元素文本內(nèi)容的通用函數(shù),思路很好值得參考。
    2009-12-12
  • JS實現(xiàn)秒殺倒計時特效

    JS實現(xiàn)秒殺倒計時特效

    這篇文章主要為大家詳細(xì)介紹了JS實現(xiàn)秒殺倒計時特效,文中示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2020-01-01
  • JS實現(xiàn)帶有抽屜效果的產(chǎn)品類網(wǎng)站多級導(dǎo)航菜單代碼

    JS實現(xiàn)帶有抽屜效果的產(chǎn)品類網(wǎng)站多級導(dǎo)航菜單代碼

    這篇文章主要介紹了JS實現(xiàn)帶有抽屜效果的產(chǎn)品類網(wǎng)站多級導(dǎo)航菜單代碼,涉及JavaScript動態(tài)操作頁面元素屬性的技巧,整體界面效果美觀大方,具有極強(qiáng)的立體感,需要的朋友可以參考下
    2015-09-09

最新評論