尝试这种情况:
var button = $('<button type="button"/>');
现在,因为它发生,对于按钮的默认类型为“键”无论如何在IE(7至少,不知道标准的模式8)。但是,上述应该工作。我前几天碰到了这个。 IE允许你在创建元素时在元素语法中提供类型,看起来jQuery几乎将它的参数直接传递给低级DOM API。
哦,它也可以在FF和Chrome中正常工作。
编辑 —以及每年使什么区别,是吗?现在我无法使用jQuery 1.4.4或jQuery 1.5.x来为我工作。好消息是,jQuery 1.6看起来像OP所希望的那样工作:通过以更常见的jQuery方式设置“type”。
什么确实似乎工作,但是,是直接调用元素上的“.setAttribute()”。因此:
var b = $('<button/>');
b[0].setAttribute('type', 'button');
不不抛出一个异常,它确实设置“类型”正确地归因。 (这本身有点奇怪,因为微软明确地将“类型”记录为只读)。1.6的变化似乎沿着相同的路线。以前,库并没有检查“type”,并且会明确地禁止将其设置为已经在DOM中的元素,但会继续尝试将其设置为不在DOM中的元素的简单属性。现在,1.6代码调用“.setAttribute()”来设置“type”,这对于我来说是未知的。
'
实际上[button](http://www.w3.org/TR/html401/interact/forms.html#h-17.5)默认为type = submit。 – Tgr 2010-05-09 19:56:39
按钮确实有一个type属性,type = button,type = submit和type = reset – salmane 2010-05-09 20:02:43