用于创建HTML元素和提供属性映射的jQuery重载似乎不适用于控件。我在文档中看到IE不允许您更改类型,因此您必须指定它,但它似乎忽略了IE和Chrome中属性映射中的所有内容:
$("<input type='text'>", {
id: "foo",
name: "foo",
value: "test"
}).appendTo("body");
正在创建以下元素:
<input type="text" />
JSFiddle演示行为:http://jsfiddle.net/JyvBh/
答案 0 :(得分:1)
您需要将该类型添加为其他属性的一部分,它将起作用;像这样:
$("<input>", {
type: "text",
id: "foo",
name: "foo",
value: "test"
}).appendTo("body");
编辑:根据jQuery文档支持的解决方法
根据jQuery docs,解决方法实际上使用了不同的格式,如下所示:
$('<input type="text" />').attr({
id: 'foo',
name: 'foo',
value: 'test'
}).appendTo("body");
Updated JSFiddle包括上述两种方法。
我希望这有帮助!
答案 1 :(得分:1)
如果你这样写,它就有效:
$("<input>", {
type : "text",
id: "foo",
name: "foo",
value: "test"
}).appendTo("body");
答案 2 :(得分:0)
这是正确的方法
$("<input />", {
type:'text',
id: "foo",
name: "foo",
value: "test"
}).appendTo("body");