/ / jQueryで<button>を作成すると型属性が無視される - jquery、html、dom-manipulation

jQueryで<button>を作成すると型属性が無視される - jquery、html、dom-manipulation

私は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バージョンで動作しますが、これはシステムのものではなく、私たちがアップグレードすると何が壊れるか分からないので、これを既存のバージョンで解決することを好みます。

回答:

回答№1の場合は3

あなたはやっていると思った?

 $("<button type="reset" id="reset" name="reset">Reset all fields</button>").appendTo(target);

回答№2の場合は3

これがうまくいかない理由は、 type ボタンが作成されると、HTMLボタンの属性は読み取り専用になります。

つまり、後でボタンタイプを変更することはできないので、サムが答えて指摘したように、ボタンを作成するのと同時にボタンにタイプを追加することをお勧めします。

$("<button type="reset"></button>");

あなたが開発中にエラーコンソールを見ると、この種のエラーをはるかに早くキャッ​​チできます。

あなたが提供したコードについては、Firefoxのエラーコンソールは私たちに言っています:

Error: uncaught exception: type property can"t be changed