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>