Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/79.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 使用jQuery创建HTML元素:正确的方法是什么?_Javascript_Jquery_Html_Backbone.js - Fatal编程技术网

Javascript 使用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>' }); 所以在

最近我做了一个测试,我看到了一个非常奇怪的方法,用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>'
});
这也很好,但我很困惑:这三者之间有什么区别?我肯定第一个不起作用,但使用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中使用自动关闭标记。这是过去几天的剩菜。这是: