0

用于创建 HTML 元素和提供属性映射的 jQuery 重载似乎不适用于控件。我在文档中看到 IE 不允许您更改类型,因此您必须指定它,但它似乎忽略了 IE 和 Chrome 中的属性映射中的所有内容:

$("<input type='text'>", {
    id: "foo",
    name: "foo",
    value: "test"
}).appendTo("body");

正在创建以下元素:

<input type="text" />

JSFiddle 演示该行为:http: //jsfiddle.net/JyvBh/

4

3 回答 3

1

您需要将类型添加为其他属性的一部分,它会起作用;像这样:

$("<input>", {
    type: "text",
    id: "foo",
    name: "foo",
    value: "test"
}).appendTo("body");​

编辑:根据 jQuery Docs 支持的解决方法

根据jQuery 文档,解决方法实际上使用了不同的格式,如下所示:

$('<input type="text" />').attr({
    id: 'foo',
    name: 'foo',
    value: 'test'
}).appendTo("body");

更新了 JSFiddle,包括上述两种方法。

我希望这有帮助!

于 2012-09-07T18:25:11.637 回答
1

如果你这样写,它会起作用:

$("<input>", {
    type : "text",
    id: "foo",
    name: "foo",
    value: "test"
}).appendTo("body");​
于 2012-09-07T18:25:23.363 回答
0

这是正确的方法

$("<input />", {
    type:'text',
    id: "foo",
    name: "foo",
    value: "test"
}).appendTo("body");​

演示

于 2012-09-07T18:25:25.133 回答