私は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