我喜欢大多数新手Web开发人员在大多数情况下使用jQuery,但更多时候我开始使用干净的js。所以从这里开始我的问题是:在jQuery范围内使用干净的js是上帝的做法,例如,如果我需要获取元素类,我可以这样做:
jQuery('div#grid a').click(function(event){
event.preventDefault();
console.log(this.getAttribute('class'));
console.log(this.className);
console.log(jQuery(this).attr('class'));
});
但最好的方法是什么?
答案 0 :(得分:3)
是的,在jQuery范围内使用干净的js是很好的实践。因为这是DOM的原生工作,它的工作速度更快。
答案 1 :(得分:3)
使用this.className
会更好,因为它是三者中最快的。这是一个可以运行并看到执行速度的演示:jquery attr(class) vs js.className
运行测试后,您可以看到className
属性是最快的属性。
答案 2 :(得分:2)
使用本机脚本总是提高性能,而不是让jQuery函数调用来做同样的事情。
然而,这种增益对于少量元素是不可察觉的。因此,权衡变得更简单,更可读的代码与增益可能不会对UI产生太大影响