嘗試這種情況:
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