封装原生javascript连缀
2016-06-20 10:38
591 查看
//连缀的封装
window.onload = function(){
$().getId('box').css('color','red').css('backgroundColor','black').click(function(){
alert('我是封装的click事件');
}) ; //实现连缀 用id获取的
//alert(base.getTagName('p').elements.length);
$().getTagName('p').css('color','blue').html('修改文字').click(function(){
alert('我是封装的click事件');
}) //通过获取标签名 有多个实现连缀
}
/*
连缀的封装
*/
var $ = function(){
return new Base();
//让这个$函数 每次new 一个对象出来 这样子就保证了 不共用一个对象
}
function Base(){
//创建一个数组 来保存获取的节点(id)和节点数组(name)
this.elements = [];
//获取id节点
this.getId = function(id){
this.elements.push(document.getElementById(id));
return this; //返回Base对象
}
//获取元素节点
this.getTagName = function(tag){
var targs = document.getElementsByTagName(tag);
for(var i=0;i<targs.length;i++){
this.elements.push(targs[i]);
}
return this; //返回Base对象
}
}
Base.prototype.css = function(attr,value){ //给函数体添加方法 用原型
for(var i=0;i<this.elements.length;i++){
this.elements[i].style[attr] = value;
}
return this;
}
Base.prototype.html = function(str){ //给函数体添加方法 用原型
for(var i=0;i<this.elements.length;i++){
this.elements[i].innerHTML = str;
}
return this;
}
Base.prototype.click = function(fn){ //给函数体添加方法 用原型
for(var i=0;i<this.elements.length;i++){
this.elements[i].onclick = fn;
}
return this;
}
<!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>
<script src="demo.js"></script>
<script src="base.js"></script>
</head>
<body>
<!--
<div id="box">box</div>
<input type="radio" name="sex" value="男" selected = "selected"/>
<p>段落</p>
-->
<div id="box">box</div>
<p >段落1</p>
<p >段落</p>
<p>段落</p>
</body>
</html>
bb14
window.onload = function(){
$().getId('box').css('color','red').css('backgroundColor','black').click(function(){
alert('我是封装的click事件');
}) ; //实现连缀 用id获取的
//alert(base.getTagName('p').elements.length);
$().getTagName('p').css('color','blue').html('修改文字').click(function(){
alert('我是封装的click事件');
}) //通过获取标签名 有多个实现连缀
}
/*
连缀的封装
*/
var $ = function(){
return new Base();
//让这个$函数 每次new 一个对象出来 这样子就保证了 不共用一个对象
}
function Base(){
//创建一个数组 来保存获取的节点(id)和节点数组(name)
this.elements = [];
//获取id节点
this.getId = function(id){
this.elements.push(document.getElementById(id));
return this; //返回Base对象
}
//获取元素节点
this.getTagName = function(tag){
var targs = document.getElementsByTagName(tag);
for(var i=0;i<targs.length;i++){
this.elements.push(targs[i]);
}
return this; //返回Base对象
}
}
Base.prototype.css = function(attr,value){ //给函数体添加方法 用原型
for(var i=0;i<this.elements.length;i++){
this.elements[i].style[attr] = value;
}
return this;
}
Base.prototype.html = function(str){ //给函数体添加方法 用原型
for(var i=0;i<this.elements.length;i++){
this.elements[i].innerHTML = str;
}
return this;
}
Base.prototype.click = function(fn){ //给函数体添加方法 用原型
for(var i=0;i<this.elements.length;i++){
this.elements[i].onclick = fn;
}
return this;
}
<!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>
<script src="demo.js"></script>
<script src="base.js"></script>
</head>
<body>
<!--
<div id="box">box</div>
<input type="radio" name="sex" value="男" selected = "selected"/>
<p>段落</p>
-->
<div id="box">box</div>
<p >段落1</p>
<p >段落</p>
<p>段落</p>
</body>
</html>
bb14
相关文章推荐
- jQuery Ajax 全局调用封装实例代码详解
- 自己简单封装的一个CDialog类实例
- C# 面向对象三大特性:封装、继承、多态
- PHP类的封装与继承详解
- 理解javascript封装
- 简单理解JavaScript中的封装与继承特性
- javascript封装简单实现方法
- 封装好的一个万能检测表单的方法
- jquery datatable后台封装数据示例代码
- 详解js中class的多种函数封装方法
- 【经典源码收藏】基于jQuery的项目常见函数封装集合
- c#基础学习之封装
- 使用对象封装ajax重复调用的方法
- Java游戏服务器之数据库表存取封装
- 纯JavaScript实现的兼容各浏览器的添加和移除事件封装
- PHP面向对象三大特点学习(充分理解抽象、封装、继承、多态)
- javascript的函数、创建对象、封装、属性和方法、继承
- 异步的SQL数据库封装详解
- 深入解析C++编程中类的封装特性
- C++封装IATHOOK类实例