最近有在用jquery,一直很想写一个类似自己的框架,可以象Jquery一样可以点出来。
在Jquery中有这样写法取得控件的Value值,$("#d").val(),我在这里也想实现这样的功能 czf.$("id").val();
Code
var czf={
$: function (id){
this[0]= document.getElementById(id); //这个是关键,取得控件对象
return this;//返回czf对象
},
//czf.id('dd').val();
val:function (){
return this[0].value;
}
} ;
czf.__namespace = true; //在vs 2008中,可以添加智能提示。
var czf = {$:function(id){},val:function(){}} 这个是JSON的写法,
关键一点是 this[0] = document.getElementById(id);
然后在 return this;在把取得的控件在返回给czf对象,这样就可以用czf.$("id").val();
我用czf.$("testId") 取得的其实就是czf对象,里面就有一个属性,2个方法。
如图所示
html 页面
<!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>czf实现类似Jquery的$("id").val()功能</title>
<script type="text/javascript" src="IC.js" ></script>
<script type="text/javascript" src="czf.js" ></script>
<script type="text/javascript" >
/**//*function testClick(){
var testInput = IC.getElementsByClassName("testme","input");
for(var i=0;i<testInput.length;i++){
alert(testInput[i].value);
}
}*/
function fn(){
alert(czf.$('testId').val());
}
</script>
</head>
<body >
<input type="text" value="i am czf" class="testme" id="testId"/>
<input type="text" value="test3" class="testme" id="testId2"/>
<input type="button" value="clickme" onclick="fn();"/>
</body>
</html>
其他的功能大家可以自己扩展。
分享一个小技巧,在vs 2008中,在自己的写的js文件中,添加
czf.__namespace = true ;//在vs 2008中,可以智能提示,两个下滑线。
czf.__namespace = true; //在vs 2008中,可以添加智能提示。这里是两个下滑线__