我正在尝试使用jQuery创建几个按钮,其命令如下:
$('<button></button>', { type: 'reset', id: 'reset', name: 'reset' })
.text('Reset all fields').appendTo(target);
这很有效,只是创建的按钮没有type
属性。
这就是我想要的:
<button type="reset" id="reset" name="reset">Reset all fields</button>
但我明白了:
<button id="reset" name="reset">Reset all fields</button>
即。 type="reset"
丢失了。我尝试使用.attr()
单独添加它,但它没有帮助。该属性被简单地忽略。我在这里缺少什么?
我正在使用jQuery 1.4.4。正如评论中所述,这适用于最新的jQuery版本,但这不是我们系统中的版本,我不知道如果我们升级可能会破坏什么,所以我更愿意用现有版本解决这个问题。
答案 0 :(得分:3)
你考虑过做什么
$('<button type="reset" id="reset" name="reset">Reset all fields</button>').appendTo(target);
答案 1 :(得分:3)
这不起作用的原因是,一旦创建按钮,HTML按钮的type
属性就是只读的。
这意味着您之后无法更改按钮类型,正如Sam在回答中指出的那样,您最好的选择是在创建按钮的同时将类型添加到按钮。
$('<button type="reset"></button>');
如果您在开发过程中查看错误控制台,则可以更快地捕获这些错误。
对于您提供的代码,Firefox错误控制台告诉我们:
Error: uncaught exception: type property can't be changed