编写类似jquery $("id").val()的框架

最近有在用jquery,一直很想写一个类似自己的框架,可以象Jquery一样可以点出来。

在Jquery中有这样写法取得控件的Value值,$("#d").val(),我在这里也想实现这样的功能 czf.$("id").val();

ContractedBlock.gifExpandedBlockStart.gifCode
ExpandedBlockStart.gifContractedBlock.gifvar czf={          
ExpandedSubBlockStart.gifContractedSubBlock.gif           $: 
function (id){
              
this[0]= document.getElementById(id); //这个是关键,取得控件对象
              
return this;//返回czf对象
          }
,

//czf.id('dd').val();
    

ExpandedSubBlockStart.gifContractedSubBlock.gif           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 页面

 

ContractedBlock.gif ExpandedBlockStart.gif Code
<!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>
ExpandedBlockStart.gifContractedBlock.gif
<script type="text/javascript" >
ExpandedSubBlockStart.gifContractedSubBlock.gif
/**//*function testClick(){
    var testInput = IC.getElementsByClassName("testme","input");
    for(var i=0;i<testInput.length;i++){
        alert(testInput[i].value);
    }
}
*/


ExpandedSubBlockStart.gifContractedSubBlock.gif
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中,可以添加智能提示。这里是两个下滑线__

 

转载于:https://www.cnblogs.com/86188281/archive/2009/04/03/1428964.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值