当前位置: 首页 > 图文教程 > 网络编程 > Javascript > 模仿jQuery each函数的链式调用

Javascript
JQuery 学习笔记 选择器之四
JQuery 学习笔记 选择器之五
JQuery 学习笔记 选择器之六
JQuery CSS样式控制 学习笔记
用js模仿word格式刷功能实现代码 [推荐]
运用jquery实现table单双行不同显示并能单行选中
jqPlot jquery的页面图表绘制工具
jquery tools之tabs 选项卡/页签
jquery tools之tooltip
浅析Javascript原型继承 推荐
JQuery UI皮肤定制
实现lightBox时的样式与行为分离减少JS
JQuery 表格操作(交替显示、拖动表格行、选择行等)
javascript 进度条 实现代码
Javascript this指针
jquery imgareaselect 使用利用js与程序结合实现图片剪切
javascript 写的一个简单的timer
javascript 处理HTML元素必须避免使用的一种方法
Javascript 验证上传图片大小[客户端]
jQuery 隔行换色 支持键盘上下键,按Enter选定值

Javascript 中的 模仿jQuery each函数的链式调用


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-09-12   浏览: 534 ::
收藏到网摘: n/a

模仿jQuery each函数的链式调用实现代码。
复制代码 代码如下:

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<title>Each Document</title>
<script type="text/javascript">
(function(){ //创建一个自执行函数
function _$(el){ //声明一个类
this.elements = []; //用于保存DOM元素的引用
for (var i = 0; i < el.length; i++) {
var element = el[i];
if (typeof element == string ) {
element = document.getElementById(element);
}
this.elements.push(element);
}
}
_$.prototype = {
each: function(fn){
for (var i = 0; i < this.elements.length; i++) {
fn.call(this, this.elements[i]); //第二个参数是fn函数的参数
}
},
setStyle: function(prop, val){
var that = this;
this.each(function(el){ //注意参数的设置
el.style[prop] = val;
});
return this;
}
}
window.$ = function(){
return new _$(arguments);
};
})();
window.onload = function(){
$("p", "p2").setStyle("color", "red");
}
</script>
</head>
<body>
<p id="p">
Hello world
</p>
<p id="p2">
Welcome.
</p>
</body>
</html>