jQuery入门:用包装集工作(Working with Selections)
2015-07-06 15:58
771 查看
获取函数和设值函数
一些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中被广泛应用,是很多库都适用的一个特征。可是,它必须要谨慎使用——过量的链式处理程序法会让代码变得非常难以修改或者调试。链应该有多长没有必须遵守的规则——仅仅知道它很容易让人迷恋。
原文地址
相关文章推荐
- jquery的ajax提交form表单
- jquery cookie用法(获取cookie值,删除cookie)
- jQuery原型属性constructor,selector,length,jquery和原型方法size,get,toArray源码分析
- 解决jquery新加入的元素没有绑定事件问题
- jQuery中的ajax处理json三种方法
- jQuery的笔记
- C#后台拼接jquery 中的超链接并绑定事件
- jquery ajax jsonp 跨域实现
- 缓冲加载图片的 jQuery 插件 lazyload.js 使用方法详解
- JQuery.Ajax()的data参数类型
- jquery 选择器,模糊匹配
- How do I reset a jquery-chosen select option with jQuery?重置chosen组件值状态
- Jquery+highchart+ajax
- 7月3日 学习仿腾讯游戏首页小幻灯片jquery插件
- jquery中prop与attr方法差异
- jquery+php实现导出datatables插件数据到excel的方法
- jquery的ajax同步和异步
- Jquery Ajax案例
- Web前端_jQuery_命名空间
- jquery的trigger和triggerHandler区别