现在的位置: 首页 > 综合 > 正文

使用jQuery后的感觉——充分享受它带来的便利

2018年05月21日 ⁄ 综合 ⁄ 共 1968字 ⁄ 字号 评论关闭
           花了1天时间,边看jQuery的例子边熟悉它的API,总算把项目中的权限控制模块做好了。以前面对这么一大堆checkbox,在写javascript的时候总要考虑下页面的组织,一般都是通过它们不同的name和id属性来加以控制的。而用jQuery就没有那么多限制了,它的选择器简直就是一条鱼,可以任意在水中游荡,由这个input游到那个td,再迅速游到其他毫不相干的标签,充分展现了代码与页面分离的优势,只要稍稍加几个hidden的input就可以把整个页面紧凑地组织成一体,呵呵,当然你要有那种逻辑思维。通过选择器这条小鱼,还可以让它引出很多线索,进行统一的控制和绑定——方法啦,属性啦,等等,当然还封装了这些线索的遍历方法,设置了相当方便的回调函数。
         想当初学习javascript的痛苦,和现在用jQuery的轻松加愉快,其便利之处是不言而喻的。而且写出来的代码一致性很好(当然看个人风格),可读性也很棒。下面是我用jQuery框架和原始javascript写的功能相同的模块,大家可以比较一下。

这是jQuery写的

        $('.menuParent').click(function(){
            
var index = $(this).next().attr("value");
            
var rows = $(this).parent().attr("rowspan");
            
var chk = $(this).attr("checked");
            
var rowscount = 0;
            $(
'.rows').lt(index).each(function(){
                rowscount 
= rowscount + $(this).attr("value")*6;
            }
);
            
if(chk==null)
                $(
':checkbox').not('.menuParent').gt(rowscount-1).lt(rows*6).removeAttr("checked");
            
else
                $(
':checkbox').not('.menuParent').gt(rowscount-1).lt(rows*6).attr("checked","checked");
        }
);

下面是javascript写的


      
function changecheck(ev)
    
{
        
var chkid = ev.srcElement.name;
        
        changecheckbyid(chkid);
    }

    
    
function changecheckbyid(chkid)
    
{
        
var temp;
        
var chkname;
        
var chkcontrol;
        
var chked = document.all(chkid).checked;
        
        
if(chkid.length>4)
            
return;
            
        
for(var i= 1;i<99;i++)
        
{
            
if(i<10)
                temp 
= "0"+i;
            
else
                 temp 
= i;
                             
            chkname 
= chkid+temp;
            chkcontrol 
= null;
            chkcontrol 
= document.all(chkname);
            
            
if(chkcontrol==null)
                
break;
            
else
            
{
                chkcontrol.checked 
= chked;
                changecheckbyid(chkcontrol.name);
            }

    

其实看着上诉代码风格的变换,也体现了web发展的缩影,不知你们有没有感觉到呢,呵呵

抱歉!评论已关闭.