jQuery(html,props)没有处理输入

时间:2012-09-07 18:21:25

标签: jquery dom-manipulation

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

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

正在创建以下元素:

<input type="text" />

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

3 个答案:

答案 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");​

DEMO