1.4 纯 JavaScript 与 jQuery
即便是像刚才那么简单的任务,如果不用jQuery而是我们自己手工写代码也会非常麻烦。若用纯JavaScript的话,可以通过下面的代码清单1-3达到同样的目的。
代码清单1-3
window.onload = function() {
var divs = document.getElementsByTagName('div');
for (var i = 0; i < divs.length; i++) {
if (hasClass(divs[i], 'poem-stanza')
&& !hasClass(divs[i], 'highlight')) {
divs[i].className += ' highlight';
}
}
function hasClass( elem, cls ) {
var reClass = new RegExp(' ' + cls + ' ');
return reClass.test(' ' + elem.className + ' ');
}
};
且不论这段代码有多长,就算这样它还是不能像代码清单1-2中的jQuery代码一样处理多种可能的情况,比如它并不能:
正确地处理其他
window.onload
事件处理程序;在DOM就绪后马上执行;
利用较新的DOM方法来检索元素和执行其他任务,从而优化代码性能。
两相比较就会发现,jQuery代码不仅写起来省事,读起来简单,而且也比纯JavaScript代码的执行速度更快。