jQuery入门:用包装集工作(Working with Selections)

来源:互联网 发布:nseer erp 源码下载 编辑:程序博客网 时间:2024/05/16 11:40

获取函数和设值函数

一些jQuery方法对于某些包装集既能赋值也能读取。当这个方法和参数值一起调用的时候,它被称为设值函数因为它设置了(或指派了)值。当这个方法没有和参数一起调用,它获取(或读取)元素的值。设值函数会影响包装集中的所有元素,然而获取函数返回的仅仅是包装集中第一个元素的值,.text()是个例外, 它取回所有元素的值。

//.html()方法设置所有h1元素的html为“hello world”:$( "h1" ).html( "hello world" );// The .html() method returns the html of the first h1 element://.html()方法返回第一个h1元素的html:$( "h1" ).html();// > "hello world"

设值函数返回一个jQuery对像,允许在包装集中继续调用jQuery方法。取值函数返回它们请求的值,所以在取值函数返回值中是不能继续调用jQuery方法的。

//试图在调用取值函数后调用jQuery方法。//这将无法运行:$( "h1" ).html().addClass( "test" );

链式处理程序法

如果你在包装集中调用一个方法并且这个方法返回一个jQuery对象,你可以在这个对象中继续调用jQuery方法,没必要用分号中断。这种惯例被称作“链式处理程序法”:

$( "#content" ).find( "h3" ).eq( 2 ).html( "new text for the third h3!" );

将“链”换成几行会让代码更易读:

$( "#content" )    .find( "h3" )    .eq( 2 )    .html( "new text for the third h3!" );

如果你在链的中间改变了包装集,jQuery 还提供了.end()方法来恢复到初始的包装集。

$( "#content" )    .find( "h3" )    .eq( 2 )        .html( "new text for the third h3!" )        .end() //还原到在#content中所有h3的包装集    .eq( 0 )        .html( "new text for the first h3!" );

链式处理程序法非凡的强大,自从它在jQuery中被广泛应用,是很多库都适用的一个特征。可是,它必须要谨慎使用——过量的链式处理程序法会让代码变得非常难以修改或者调试。链应该有多长没有必须遵守的规则——仅仅知道它很容易让人迷恋。

原文地址

0 0
原创粉丝点击