1

アイテムのリストがあり、すべて ID と値があります。このリストを、次のように div を使用して php ビュー スクリプトに出力します。

<div class="myList">
    <div class="listItem item3 value4">item label</div>
    <div class="listItem item5 value7">item label</div>
    ...
</div>

アイデアは、いくつかの編集機能をリスト項目にアタッチするためにいくつかの jQuery を含めることです。各アイテムを操作するには、jQuery でアイテム ID と値 ID が必要です。クラス パターンの itemID と valueID を検索し、ID 部分 (もちろん、各アイテムの番号です) を抽出することで決定します。これらの ID を使用して、 ajax 呼び出しを実行して、リストから適切なアイテムを更新します (ユーザーが選択できる新しい値 ID を与えます)

私の質問: 私がこれを行っている方法は機能しますが、私にはあまりエレガントではないようです。jQuery .data メソッドはここでは役に立たないようです。データは、jQuery が機能する前に php ビュー スクリプトによって出力される必要があるため、データは html 構造に存在し、後で jQuery によって読み取られる必要があります。カスタムhtml属性について考えました

<div class="listItem" itemID="4" valueID="7">labeltext</div>

しかし、これは良い習慣ですか?データをjQueryに「フィード」するより良い方法はありますか? これは通常どのように行われますか?

4

2 に答える 2

4

HTML5data属性を使用します。

<div class="listItem" data-item-id="4" data-value-id="7">labeltext</div>

jQuery の.data()構文を使用する利点があります。

$('.listItem').eq(0).data('item-id'); // Returns: 4
于 2012-09-05T21:55:07.933 に答える
0

data 属性を使用できます:

<div class="listItem"
     data-id="4"
     data-valueId="7">
       labelText
</div>

: (セレクターが listItem クラスにある場合) を使用して JS でそれらを回復します。

...
var $this = $(this); //just an habit ;)
var id = $this.data('id');
var valueId = $this.data('valueId');
...
于 2012-09-05T21:59:32.510 に答える