JavaScript连缀

先来理解一个概念:JavaScript库


简单来说,就是把各种常用的代码片段,组织起来放在一个 js 文件里,组成一个包,


这个包就是 JavaScript 库。现如今有太多优秀的开源 JavaScript 库,比如 :


jQuery、Prototype、Dojo、Extjs 等等。这些 JavaScript 库已经把最常用的代码进行


了有效的封装,以方便我们开发,从而提高效率。


在调用库的时候,我们需要能够在前台调用的时候可以同时设置多个操作,比如设置


 CSS,设置 innerHTML,设置 click 事件等等,所以就出现了连缀。


连缀:同时设置一个或多个节点两个或两个以上的操作 。


比如:


$().getId('box').css('color', 'red').html('标题').click(function () {alert('a')});


连缀的好处:就是快速方便的设置节点的操作。


举个例子:

var $=function(){
	return new Base();  //避免前台new一个对象,在库里面直接new
}

function Base(){  //创建一个构造函数
	//创建一个数组,来保存获取的节点和节点数组
	this.elements=[];
	
	//获取ID节点
	this.getId=function(id){
		this.elements.push(document.getElementById(id));
	return this;  //在每个方法里在每个方法里都返回这个对象,
	                    //并且还可以在对象的原型里添加方法,这些都是连缀操作最基本的要求。
	};
	//获取元素节点
    this.getTagName=function(tag){
		var tags=document.getElementsByTagName(tag);
		for(var i=0;i<tags.length;i++){
			this.elements.push(tags[i]);
		}	
		return this;
	}
	
}

/*添加方法*/
//设置样式方法
Base.prototype.css=function(attr,value){
	for(var i=0;i<this.elements.length;i++){
		this.elements[i] .style[attr]=value;
	}
	return this ;
}
//设置HTML页面方法
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] .οnclick=fn;
	}
	return this ;
}

调用:

window.οnlοad=function(){
    $().getId("box").css("color","red").css("backgroundColor","black");
	$().getTagName("p").css("color","green").html("标题").click(function(){
		alert("成功!")
	}).css("backgroundColor","pink");
}

HTML:

	<html>
		<head>
			<title>JavaScript库</title>
			<script type="text/javascript" src="demoqq.js"></script>
			<script type="text/javascript" src="baseqq.js"></script>
		</head>
	
		<body>
			
			<div id="box">id</div>
			<input type="radio" name="sex" value="男" checked="checked"/>
			
			<p>段落</p>
			<p>段落</p>
			<p>段落</p>
	
		</body>
	
	</html>

效果:




  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 15
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 15
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值