javascript - jQuery 添加元素到 DOM : the right way

标签 javascript jquery dom

我想知道哪种方法更好,为什么:

一)

  .append('<div class="load" id="XXX"></div>)

二)

  .append('<div></div>').addClass('load').attr('id', 'XXX')

c)

   your way

最佳答案

从 jQuery 1.4 开始,您可以将 map 对象作为第二个参数传递

$('<li/>', { 
  click:    function(){}, 
  id:       'test',
  addClass: 'clickable' 
});

我发现这种方法比使用单个字符串或许多 jQuery 方法调用和链接更具可读性。

查看文档 here . IE 的一些输入元素问题。

无论如何,在使用 jQuery 或基本 JavaScript 时,不鼓励在字符串中创建元素及其属性。最好将属性的创建和属性分开。

我为 direct comparison 创建了一个 fiddle 3 种 jQuery 方法中的一种,外加一种纯 JavaScript 方法。

虽然新的 1.4 选项和通常的选项都非常快,但字符串方法慢得要命。这并不奇怪,因为 jQuery 必须解析和解释所有内容。

当然,纯 JS 永远是最快的选择;)

关于javascript - jQuery 添加元素到 DOM : the right way,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7436446/

相关文章:

javascript - 在 Dynamics CRM 2011 中加粗字段标签、调整字段大小?

javascript - 为不同的 Url 重写 htaccess 规则

javascript - $locationProvider html5mode 导致刷新时出现 "cannot GET"错误 - AngularJS Node 应用程序

javascript - 使用 jquery 根据内容和视口(viewport)高度更改 div 的位置

javascript - 在不使用 "angular.element.scope"的情况下从 AngularJs 外部更新范围

javascript - 在用户选中和取消选中复选框后保留文本框值

javascript - 使用jquery调用带变量的id文本区域

javascript - 使用 jquery 更改 html <em> 标记内的文本

reactjs - React.js, `DOMContentLoaded` 等于 `componentDidMount` 吗?

jquery - 使用 jquery 从变量中删除 DOM 元素