获取元素属性的最佳方法是什么?

时间:2013-05-06 10:42:35

标签: javascript jquery

我喜欢大多数新手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'));
});

但最好的方法是什么?

3 个答案:

答案 0 :(得分:3)

是的,在jQuery范围内使用干净的js是很好的实践。因为这是DOM的原生工作,它的工作速度更快。

Perfomance Test

答案 1 :(得分:3)

使用this.className会更好,因为它是三者中最快的。这是一个可以运行并看到执行速度的演示:jquery attr(class) vs js.className

运行测试后,您可以看到className属性是最快的属性。

答案 2 :(得分:2)

使用本机脚本总是提高性能,而不是让jQuery函数调用来做同样的事情。

然而,这种增益对于少量元素是不可察觉的。因此,权衡变得更简单,更可读的代码与增益可能不会对UI产生太大影响