2

HTML要素に属性を追加して、それが何を参照しているかを識別できるようにしたいと考えています。

たとえば、次のように、名前のリストと各名前の横にチェックボックスがある場合:

<div id="users">
 Bob smith <input type=checkbox />
</div>

また、チェックボックスがクリックされ、そのイベント ハンドラー関数が呼び出されたときに、どのユーザーが選択/選択解除されたかを識別できるようにしたいと考えています。

理想的には、次のようなものを探しています。

<input type=checkbox data-userId = "xxx" />

次に、クリックすると:

function handleClick()
{
  var userId = $(this).attr('data-userId');
}

ただし、HTML検証を壊さず、有効なHTMLであり、すべてのブラウザーで機能する方法でこれを行うことを検討しています。

助言がありますか?

4

2 に答える 2

6

データ属性はhtml5によって提供され、有効な属性です。jqueryによるデータメソッドでデータ属性にアクセスできます

var userId = $(this).data('userId');
于 2012-12-04T05:04:48.273 に答える
5

dom要素にdata-attributesを追加してから、

var userId = $(this).attr('data-userId');

あるいは

var userId = $(this).data('userId');

これを行う正しい方法であり、HTML検証を中断することはありません。

ここで説明するように、データ属性に対してjQueryによって実行されるケース操作があることに注意してください。物事を単純にするために、に変更data-userIdすることを検討してくださいdata-userid

于 2012-12-04T05:04:45.240 に答える