简单实现JS对dom操作封装


Posted in Javascript onDecember 02, 2015

这篇文章主要介绍了JS简单实现对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){//定义立即执行函数,传入全局对象window  
  function duquery(id){//定义函数,实现去new的操作,  
    function Duquery(id){//定义类
      this.ele=document.getElementById(id);//id查找    
      return this;//返回对象
    };
    Duquery.prototype.html=function(val){//利用原型添加设置html的方法
      this.ele.innerHTML=val;
      return this;//返回对象,执行后可链式操作
    };
    Duquery.prototype.attr=function(key,val){//添加设置属性的方法
      this.ele.setAttribute(key,val);
      return this;
    };
    Duquery.prototype.css=function(key,val){//添加设置样式的方法
      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){//添加延时静态方法,可通过函数名直接使用
    setTimeout(fun,time);
  };  
  duquery.each=function(arr,callback){//添加遍历迭代静态方法
    for(var key in arr){
      callback(key,arr[key]);
    };
  };  
  w.$$=w.duquery=duquery;//类追加到全局对象自定义属性上,可直接调用
  
})(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>努力学习</span>
 
</form>
 
<script>
//DOM 对象方法
 
//getElementById返回带有指定 ID 的元素
 
/*var byid = document.getElementById("getId");
alert(byid.value);      //获取id
 
//getElementsByTagName返回包含带有指定标签名称的所有元素的节点列表(集合/节点数组)
 
var tagname = document.getElementsByTagName("input");
alert(tagname[0].value);    //获取id
 
//createElement创建元素节点
 
var myform = document.getElementById("myform");
var e = document.createElement("input");    //创建input元素
 
e.type="button";                //给input的type定义值
e.value="嘻嘻哈哈";                //给input的value定义值
 
//appendChild() 把新的子节点添加到指定节点
 
myform.appendChild(e);              //往form里添加创建好的input表单
 
//insertBefore() 在指定的子节点前面插入新的子节点
 
document.body.insertBefore(e,myform);      //把input添加到form前面            
 
//createAttribute()创建属性节点
 
var att=document.createAttribute("class");
att.value="democlass";
 
//setAttributeNode()方法添加新的属性节点
 
document.getElementsByTagName("input")[0].setAttributeNode(att);
 
//createElement创建元素节点
 
var newel = document.createElement("p");
 
//createTextNode() 方法创建新的文本节点
 
newtext=document.createTextNode('xixihaha');
 
//appendChild() 把新的子节点添加到指定节点
 
newel.appendChild(newtext);
 
//appendChild() 把新的子节点添加到指定节点
 
myform.appendChild(newel);
 
// setAttribute() 可以在属性不存在的情况下创建新的属性,我们可以使用这个方法来创建新属性
 
x=document.getElementsByTagName("input");
x[0].setAttribute("asdasd","first");
 
//replaceChild() 方法用于替换节点
 
//第一个参数是新的节点
//第二个参数是旧的节点(要被替换掉的节点)
 
var y1=document.getElementsByTagName("input")[1];
var y2=document.getElementsByTagName("input")[2];
 
myform.replaceChild(y2,y1);
 
//removeChild() 方法删除指定的节点
 
//当已定位需要删除的节点时,就可以通过使用 parentNode 属性和 removeChild() 方法来删除此节点
var span1=document.getElementsByTagName("span")[0];
 
span1.parentNode.removeChild(span1);
*/
 
</script>
 
</body>
</html>

以上就是js针对DOM 的相关常用操作,希望对大家的学习有所帮助。

Javascript 相关文章推荐
初识JQuery 实例一(first)
Mar 16 Javascript
html5+javascript制作简易画板附图
Apr 25 Javascript
JavaScript中的比较操作符&gt;、=、
Dec 31 Javascript
JavaScript获得当前网页来源页面(即上一页)的方法
Apr 03 Javascript
JS选项卡动态替换banner图片路径的方法
May 11 Javascript
jquery实现的Banner广告收缩效果代码
Sep 02 Javascript
详解打造 Vue.js 可复用组件
Mar 24 Javascript
jQuery自定义图片上传插件实例代码
Apr 04 jQuery
jQuery实现模糊查询的方法分析
May 10 jQuery
JS实现仿微信支付弹窗功能
Jun 25 Javascript
vue-cli2 构建速度优化的实现方法
Jan 08 Javascript
js实现div色块拖动录制
Jan 16 Javascript
jQuery实现获取绑定自定义事件元素的方法
Dec 02 #Javascript
JS折半插入排序算法实例
Dec 02 #Javascript
如何动态加载外部Javascript文件
Dec 02 #Javascript
javascript实现获取浏览器版本、浏览器类型
Dec 02 #Javascript
JavaScript如何禁止Backspace键
Dec 02 #Javascript
js文本框输入内容智能提示效果
Dec 02 #Javascript
JavaScript使用DeviceOne开发实战(四)仿优酷视频应用
Dec 02 #Javascript
You might like
利用PHP制作简单的内容采集器的代码
2007/11/28 PHP
php学习 字符串课件
2008/06/15 PHP
php简单实现MVC
2015/02/05 PHP
PHP读MYSQL中文乱码的快速解决方法
2016/10/01 PHP
PHP实现的折半查询算法示例
2017/10/09 PHP
Javascript实现的分页函数
2007/02/07 Javascript
JQuery中each()的使用方法说明
2010/08/19 Javascript
js调用浏览器打印模块实现点击按钮触发自定义函数
2014/03/21 Javascript
一不小心就做错的JS闭包面试题
2015/11/25 Javascript
requireJS使用指南
2016/04/27 Javascript
json定义及jquery操作json的方法
2016/09/29 Javascript
JS控制div跳转到指定的位置的几种解决方案总结
2016/11/05 Javascript
利用jquery获取select下拉框的值
2016/11/23 Javascript
js实现方块上下左右移动效果
2017/08/17 Javascript
利用JS实现scroll自定义滚动效果详解
2017/10/17 Javascript
说说node中的可读流和可写流的区别
2018/06/01 Javascript
Vue 实现一个命令式弹窗组件功能
2019/09/25 Javascript
JS代码触发事件代码实例
2020/01/02 Javascript
jquery实现轮播图特效
2020/04/12 jQuery
JavaScript实现前端倒计时效果
2021/02/09 Javascript
python中尾递归用法实例详解
2015/04/28 Python
Python hashlib模块用法实例分析
2018/06/12 Python
python定时复制远程文件夹中所有文件
2019/04/30 Python
python傅里叶变换FFT绘制频谱图
2019/07/19 Python
keras处理欠拟合和过拟合的实例讲解
2020/05/25 Python
用python给csv里的数据排序的具体代码
2020/07/17 Python
在pycharm创建scrapy项目的实现步骤
2020/12/01 Python
德国、奥地利和瑞士最大的旅行和度假门户网站:HolidayCheck
2019/11/14 全球购物
腾讯技术类校园招聘笔试试题
2014/05/06 面试题
学生档案自我鉴定
2013/10/07 职场文书
大学生求职自我评价
2014/01/16 职场文书
聚美优品的广告词
2014/03/14 职场文书
2014年单位植树节活动方案
2014/03/23 职场文书
《歌唱二小放牛郎》教学反思
2014/04/19 职场文书
学校党委干部个人对照检查材料思想汇报
2014/10/09 职场文书
2014年统战工作总结
2014/12/09 职场文书