首先,让我们快速的回顾一下纯JavaScript方式的DOM遍历。下面的代码展示了,在引入jQuery以前,Drupal是如何查找页面元素的(在这里,就是所有的可伸缩的字段集内部的legend元素):
var fieldsets = document.getElementsByTagName('fieldset');
var legend, fieldset;
for (var i = 0; fieldset = fieldsets[i]; i++) {
if (!hasClass(fieldset, 'collapsible')) {
continue;
}
legend = fieldset.getElementsByTagName('legend');
if (legend.length == 0) {
continue;
}
legend = legend[0];
...
}
而下面则是在Drupal中引入jQuery以后,升级了的代码:
$('fieldset.collapsible > legend:not(.collapse-processed)', context).each(
function() { ... });
正如你看到的一样, jQuery的口头禅是“写得少,做得多”。对于使用JavaScript操作DOM的常见的重复性任务,jQuery使用一种简洁直观的语法对其作了封装。最终的结果是,代码简短,灵巧,易读。
老葛的Drupal培训班 Think in Drupal