1

要素にカスタム値を割り当てたい。.attr(customName, value) はこれでうまくいくようです。属性が存在しない場合 (存在しない場合)、jQuery は属性を作成し、指定した値を配置します。後で、通常の HTML 既知の属性であるかのように、.attr(customName) で値を読み取ることができます。この種の HTML5 .data() メソッドがあることは知っていますが、永続的ではありません。html をディスクに移動してから取得すると、data() で設定されたものはすべてなくなりますが、.attr() は HTML に直接入ります。

.attr() のドキュメントには、指定したものを認識しない場合に新しい attr 名を作成することが保証されている箇所が見当たらないので、少し緊張しています。このように .attr() を使用しても安全ですか? ありがとう。

4

3 に答える 3

1

はい、できます。ただし、有効な HTML にはなりません。あなたがしていることは、XHTML の新しいフォークを作成することです。独自の DTD を作成して検証することもできますが、それはおそらく必要ありません。

一部のブラウザー (特に古いバージョンの IE) では問題が発生する可能性があることに注意してください。ただし、ほとんどのブラウザは不明な属性を無視するだけなので、好きなように自由に扱うことができます。idHTML が無効であることを気にするかどうかはあなた次第ですが、実際には、特定の予約済み属性名 (や など)を避ける限り問題なく機能しますclass

ただし、ドキュメントに永続的なデータを保存するためのより良い方法がある可能性があるため、一歩下がって、達成しようとしていることを再評価することをお勧めします。

于 2013-08-14T16:16:49.350 に答える
1

データを使用してカスタム属性を作成する必要があります。.data() を使用してクロスブラウザーで動作し、マークアップに保持できるため、リセットされません。Nettuts データ属性の記事

例えば

<a href="#" data-custom-description="lorum ipsum">tool tip</a>

$('a').data('custom-description');-> lorum ipsum を返します

于 2013-08-14T16:13:23.620 に答える