1

変数を div や別の HTML 要素にアタッチしたい状況がたくさんあります。たとえば、テーブル内の行を編集するためのダイアログ ウィンドウとして使用している div があります。次のようなものです。

    <div class='dialog' id='editTableLineDialog'/>

このダイアログが開いたら、編集中のテーブルの行の ID を記録する必要があります。過去に、lineCurrentlyEditting というグローバル変数を作成したり (Yuck!)、次のように実際のテーブル ID に ID を埋め込んだりしました。

    <div class='dialog' id='editTableLineDialog_43'/>

どちらのソリューションも非常にエレガントではありません。次のように、変数をdivに追加できるようにしたいと思います。

    var dialog = document.getElementById('editTableLineDialog');
    dialog.tableLineId = 43;

また

    $('#editTableLineDialog').tableLineId = 43;

また

    <div meta='{tableLineId=43}' class='dialog' id='editTableLineDialog'/>

とにかくこのようなことをすることはありますか?このような状況を処理する最善の方法は何ですか? JQuery には解決策がありますか?

4

2 に答える 2

9

データ属性を使用できます。

<div data-tableLineId='43' class='dialog' id='editTableLineDialog'/>

jQuery にはデータ関数があります: ( http://api.jquery.com/jQuery.data/ )

$.data('#editTableLineDialog', 'tableLineId','43');
于 2013-07-18T18:57:07.723 に答える
2

一般的な方法は、そのような値を「隠しフィールド」と呼ばれるものに格納することです。ダイアログがテーブルと同じページにあると仮定すると、次のようなものを持つことができます:

<input type="hidden" id="tableRowEdited" value="43">

これはユーザーには表示されませんが、jQuery 経由で参照できます。

$("#tableRowEdited").val()
于 2013-07-18T18:57:30.317 に答える