窥探jQuery——面向JavaScript程序员
2010-09-14 13:09:45 来源:WEB开发网也就是说,链盒有时会像变戏法一样。除了使用链盒将各种操作DOM的方法粘到一起,你也可以使用jQuery的end()方法,来实现在特定范围内推进或回溯你需要得到的元素。这个概念很难解释清楚。本质上讲,每次使用(诸如children()或filter())方法来改变元素集合时,你可以在这些方法之后使用end(),来重新定位你最初选取的元素集合。关于这点,Jesse Skinner在他的Simplify Ajax development with jQuery(译注[3])教程中给出了实例:
$('form#login')
// 第一步,隐藏表单中那些带有'optional'类的<label>
.find('label.optional').hide().end()
// 第二步,为表单的密码输入域渲染上红色边框
.find('input:password').css('border', '1px solid red').end()
// 第三步,为表单加上提交处理
.submit(function(){
return confirm('Are you sure you want to submit?');
});
这个示例读起来就像句俏皮话。整个过程是,先选取一个表单,再在其中选取一些元素做修改,然后回溯到表单,为它定义一个submit()处理。
示例很酷,但如果你不习惯,也可以不这么用。我就很乐意用自定义变量来规划代码。
操作DOM(DOM Manipulation)
jQuery提供了几个大规模操作DOM的卓越方法。第一种非常让人惊叹:jQuery()函数能把HTML片段插入DOM元素中(实际上,函数会留意以'<'打头的字符串参数):
var div = jQuery('<div>Some text</div>');
一旦你创建好了div,便可以继续用链盒向其添加属性:
更多精彩
赞助商链接