Javascript 使用jQuery创建HTML元素:正确的方法是什么?
最近我做了一个测试,我看到了一个非常奇怪的方法,用jQuery创建HTML元素,作者说要这样创建它:Javascript 使用jQuery创建HTML元素:正确的方法是什么?,javascript,jquery,html,backbone.js,Javascript,Jquery,Html,Backbone.js,最近我做了一个测试,我看到了一个非常奇怪的方法,用jQuery创建HTML元素,作者说要这样创建它: var select = $('</select>', { html: '<option value="all">All</option>' }); var select = $('<select/>', { html: '<option value="all">All</option>' }); 所以在
var select = $('</select>', {
html: '<option value="all">All</option>'
});
var select = $('<select/>', {
html: '<option value="all">All</option>'
});
所以在我完成教程后,我看了一下评论,一位评论员说应该这样写:
var select = $('</select>', {
html: '<option value="all">All</option>'
});
var select = $('<select/>', {
html: '<option value="all">All</option>'
});
这也很好,但我很困惑:这三者之间有什么区别?我肯定第一个不起作用,但使用over有什么好处?这有什么区别吗
提前谢谢。列表中的第一个不起作用,其他两个都起作用 就个人而言,我更喜欢使用,因为对我来说,这是最可读的。如果你喜欢把斜杠放进去,那就去做吧——它很好用,只是可读性的问题 如果你愿意,你也可以用美元,不过对我来说,这又是一种混乱 此外,对于添加选项,最好像进行选择一样添加选项,而不是将原始html编码为字符串,例如:
var options = [];
for (var i = Options.length - 1; i >= 0; i--) {
options.push($("<option>", {
html: Options[i].Title,
value: Options[i].Value
}));
}
var select = $("<select>", {
html: options,
id: "OptionSelector"
});
正如David在下面指出的,根据文档,$是正确的方法,因此这样做可能更好,尽管其他方法在我有限的测试中起作用。我不会使用。jquery文档似乎不允许使用这种语法,除非像这样的标记没有内容。你永远不知道用户的浏览器中可能有什么怪癖,一般来说,按照文档中的说明去做更安全,以防万一。你是对的,遵循文档总是更好的。我将稍微修改我的答案。与其调用jQuery创建选项,为什么不使用DOM:options.pushnew OptionOptions[I].title,options[I].value;虽然我建议变量名几乎肯定会导致意外错误:Options/Options,minimal ref:。您也可以这样做,但它没有那么灵活,而且,依我看,也没有那么好读:。变量名不是我建议人们使用的,它们只是我第一个想到的东西——毕竟这是一个例子。最重要的是,你不应该在html中使用自动关闭标记。这是过去几天的剩菜。这是: