jQuery document.createElement是否等效?

JavaScript

ProTony

2020-03-09

我正在重构一些旧的JavaScript代码,并且正在进行很多DOM操作。

var d = document;
var odv = d.createElement("div");
odv.style.display = "none";
this.OuterDiv = odv;

var t = d.createElement("table");
t.cellSpacing = 0;
t.className = "text";
odv.appendChild(t);

我想知道是否有使用jQuery的更好方法。我一直在尝试:

var odv = $.create("div");
$.append(odv);
// And many more

但是我不确定这是否更好。

第301篇《jQuery document.createElement是否等效?》来自Winter(https://github.com/aiyld/aiyld.github.io)的站点

2个回答
GO番长 2020.03.09

我为此做了一个小jQuery插件:https : //github.com/ern0/jquery.create

它遵循您的语法:

var myDiv = $.create("div");

可以将DOM节点ID指定为第二个参数:

var secondItem = $.create("div","item2");

严重吗 不会。但是此语法比$(“ <div> </ div>”)更好,并且对于这笔钱来说,这是非常好的价值。

我是一个新的jQuery用户,从DOMAssistant切换,它具有类似的功能:http : //www.domassistant.com/documentation/DOMAssistantContent-module.php

我的插件更简单,我认为通过链接方法添加属性和内容更好:

$("#container").append( $.create("div").addClass("box").html("Hello, world!") );

而且,这是一个简单的jQuery插件(第100个)的一个很好的例子。

十三猴子 2020.03.09

创建新的DOM元素是该jQuery()方法的核心功能,请参见:

问题类别

JavaScript Ckeditor Python Webpack TypeScript Vue.js React.js ExpressJS KoaJS CSS Node.js HTML Django 单元测试 PHP Asp.net jQuery Bootstrap IOS Android