您现在的位置: 破洛洛 >> 建站学院 >> 网站开发 >> javascript >> 正文

jQuery入门[4]-链式代码

作者:佚名 来源:不详 更新时间:2009-11-20
分享到
v id="content_ad">
jQuery另一个很令人惬意的地方是,一般的代码都是一行一行写,jQuery的代码可以一串一串写。
这一点,在前面的文章中已经介绍过了。
直接来一个Demo:
<!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>
    
<title>chainning code</title>
    
<script src="../scripts/jquery-1.2.3.intellisense.js" type="text/javascript"></script>
    
<script type="text/javascript">
        $(
function(){
            
//添加四个按钮
            $('<input type="button" value="click me"/><input type="button" value="triggle click me"/><input type="button" value="detach handler"/><input type="button" value="show/hide text"/>').appendTo($('body'));
            
//找出所有按钮
            $('input[type="button"]')
                .eq(
0)//找到第一个按钮
                    .click(function(){
                        alert(
'you clicked me!');
                    })
                .end().eq(
1)//返回所有按钮,再找到第二个
                    .click(function(){
                        $(
'input[type="button"]:eq(0)').trigger('click');
                    })
                .end().eq(
2)//返回所有按钮,再找到第三个
                    .click(function(){
                        $(
'input[type="button"]:eq(0)').unbind('click');
                    })
                .end().eq(
3)//返回所有按钮,再找到第四个
                    .toggle(function(){
                        $(
'.panel').hide('slow');
                    },
function(){
                        $(
'.panel').show('slow');
                    });
        });
    
</script>
    
<style type="text/css">
        .panel
        
{
            padding
: 20px;
            background-color
: #000066;
            color
: #FFFFFF;
            font-weight
: bold;
            width
: 200px;
            height
: 50px;
        
}
    
</style>
</head>
<body>
    
<div class="panel">welcome to jQuery!</div>
</body>
</html>


现在,链式代码已经成为jQuery非常流行的一个特点了,在使用链条方式写代码时,可能会用到eq()/filter()……(reference:http://docs.jquery.com/Traversing)等方法变化jQuery对象的对应范围,然后,又可以用end()函数将范围复原到原来的状况。
需要注意的是,有几个函数并不返回jQuery对象,所以链条就不能继续下去,比如get()就不能像eq()那样用。
转载请注明:破洛洛(谢谢合作)

  • 上一篇文章:
  • 下一篇文章:
  • 网友评论:

    最新推荐

    随机推荐