1

順序付けされていないリストに一連のリストアイテムを動的に入力するjavascript/jqueryコードがあります。リストアイテムにリンクがあり、次のように生成されたリンクにいくつかのデータを関連付けたいと思います。

var thing1 = { name: 'My Object' };
var thing2 = { name: 'My Other Object' };
var li = $('<li></li><br />');
var aSel = $('<strong>' + thing1.name + '<br /><a class="btn btn-mini btn-success addDeal" href="javascript:void(0)"><i class="icon-plus"></i>Add Deal</a>';
li.append(aSel);
li.append(add);
$('#sidebar').append(li);
//This is in a loop so the same thing would happen with thing2, etc

次のようなHTMLを生成します。

<div id="results">
    <ul id="sidebar">
        <li>
            <strong>My Object</strong><br />
            <a class="btn btn-mini btn-success addDeal" href="javascript:void(0)"><i class="icon-plus"></i>Add Deal</a>
        </li>
        <li>
            <strong>My Other Object</strong><br />
            <a class="btn btn-mini btn-success addDeal" href="javascript:void(0)"><i class="icon-plus"></i>Add Deal</a>
        </li>
    </ul>
</div>

したがって、ユーザーが最初の[取引の追加]リンクをクリックした場合thing1、スクリプトの他の場所でデータを操作したいと思います。2番目のリンクをクリックすると、データを処理したいと思いthing2ます。

私が下る道には、配列と、私にはまったく正しくないと感じるコードが含まれています。些細なことが欠けていると思います。

4

2 に答える 2

2

jQuery.data関数を使用して、各リンクに「モノ」を添付できます。行の直後var aSel =:

$('a', aSel).data('thing', thing1); // Select the anchor tag inside of 
                                    // aSel and attach thing1 to it

次に、アンカー タグがクリックされたら、次のように取得します。var thing = $(this).data('thing');

于 2012-04-27T01:15:35.413 に答える
1

HTML5 カスタム データ属性 (data-*)を使用して、目的を達成できます。

JavaScript での data- 属性の使用を特に見てください。

于 2012-04-27T01:10:19.670 に答える