哪些 jQuery 方法应该避免使用内置方法/属性?
例子:
$('#el').each(function(){
// this.id vs $(this).attr('id');
// this.checked vs $(this).is(':checked');
});;
最佳答案
在这些情况下,我使用直接的 javascript 属性,如 this.id
:
- 只要它完全符合我的要求。
- 当速度很重要时。
- 当我关心的所有浏览器都支持我需要的东西时。
我在以下情况下使用 jQuery 访问方法:
- 存在跨浏览器支持问题,或者我不确定是否存在跨浏览器问题。
- 当 jQuery 方式有更多或增强的功能对我的情况有用时。
- 当它是链式操作的一部分时,链式操作与 jQuery 配合使用效果更好。
- 当我已经在使用 jQuery 进行此操作时,混合/匹配一些直接访问和一些 jQuery 访问似乎不一致。
例如:str = $(elem).html()
与 str = elem.innerHTML
相比并没有任何优势,但是 $( elem).html(str)
确实比 elem.innerHTML = str;
有一些优势,因为 jQuery 方法将比 innerHTML 方式更彻底地清理被删除的对象。
关于javascript - 何时使用 jQuery 包装器方法而不是内置的 javascript 方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9951089/