javascript - 何时使用 jQuery 包装器方法而不是内置的 javascript 方法

标签 javascript jquery

哪些 jQuery 方法应该避免使用内置方法/属性?

例子:

$('#el').each(function(){

  // this.id vs $(this).attr('id');
  // this.checked vs $(this).is(':checked');

});;

最佳答案

在这些情况下,我使用直接的 javascript 属性,如 this.id:

  1. 只要它完全符合我的要求。
  2. 当速度很重要时。
  3. 当我关心的所有浏览器都支持我需要的东西时。

我在以下情况下使用 jQuery 访问方法:

  1. 存在跨浏览器支持问题,或者我不确定是否存在跨浏览器问题。
  2. 当 jQuery 方式有更多或增强的功能对我的情况有用时。
  3. 当它是链式操作的一部分时,链式操作与 jQuery 配合使用效果更好。
  4. 当我已经在使用 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/

相关文章:

javascript - 如何使用从 Node js Controller 发送的变量替换悬停时 EJS 模板中的文本?

ajax - 即使我得到的响应为readyStatus 4和status 200,Jquery Ajax调用也会进入错误回调

javascript - 在双显示器上从 Chrome 扩展程序打开弹出窗口

javascript - [Vue警告] : Missing required prop

javascript - 有没有办法对单个页面上的多个项目使用相同的 jQuery Ajax?

javascript - jQuery :checked not working with initial (HTML attribute) radio input

javascript - shallowMount 在延迟加载组件时表现得像 mount

javascript - 多个复选框操作

JavaScript 正则表达式 : Create regex with variable

javascript - 如何使用 Razor 检查是否在 View 页面中选中了复选框,如果选中则显示文本框