1

jQuery/JavaScript が使用できるように、サーバー側の要素にデータを追加するエレガントな方法を探しています。また、サーバーに対してあまり多くの呼び出しを行いたくないので、データが事前に存在している必要があります。

シナリオ例。サーバー側 (PHP) で、ユーザー画像のリストを作成します。これに、名前、姓、年齢などを追加したいと思い
ます。画像をクリックすると、jQuery はこのデータを使用して何かを行う必要があります。

私が考えた可能性:
データを href として持ち、クリックすると、href を取得して false を返します。
クラスとしてデータを持っています。

より良い方法はありますか?

4

4 に答える 4

6

data-HTML 仕様では、この目的のために で始まる属性が予約されています。例えば:

<p data-name="John Doe" data-age="256">Hello World</p>

形式に従っていれば、好きな名前を付けることができdata-*ます。

構造化されたセマンティック データが必要な場合は、適切なスキーマでRDFa Liteを使用することを検討してください。

于 2012-12-18T09:48:58.667 に答える
1

HTML5の場合、カスタムデータ属性があります。

古い仕様に有効なHTMLが必要な場合は、データを<span>要素に埋め込んでdisplay:none、それらを画像に関連付け、jQueryで簡単にアクセスできるようにスタイル設定および配置することをお勧めします(たとえば、特定のクラス)。

于 2012-12-18T09:55:26.410 に答える
0

データ要素がたくさんある場合は、データをJavascript変数に格納することでマークアップから除外し、data-useridorid属性を使用してユーザーデータへのID参照を格納できます。

たとえば、ユーザーのPHP配列がある場合は、それをJavascript変数にjson_encodeできます。

var users = <?php echo json_encode($users); ?>;

マークアップには、IDを保存するだけです。

<img src="..." alt="..." data-userid="x" />

次に、Javascript配列内のデータを検索できます。このアプローチの利点は、大量のデータを保存する必要がある場合に、マークアップで目立たないことです。

于 2012-12-18T09:56:14.960 に答える
0

data属性を作成できます:

<a href="link.html" data-content="demo">Text</a>

そして、それらを次のように読み取ります。

$('a').data('content');
于 2012-12-18T09:51:08.687 に答える