0

クリック時にJavaScriptコードの同じブロックを実行する必要があるページにアンカーリンクがいくつもあり、そのコードを1つの値に関連付ける必要があります。各ページにこれらのいくつかがあります。私は通常、非表示の入力を使用して値を1対1の関係で格納しますが、ページ全体に配置された複数のリンクを値に関連付けるための最良の方法は何ですか?

たとえば、IDで商品を参照し、すべてが商品の同じ動的レイヤーを表示するリンクのグループについて考えてみます。これで、多数の製品のリンクの複数のグループが存在する可能性があります。これらの関連付けを描画するにはどうすればよいですか?私はMootoolsを使用していて、クラスごとにイベントをバインドしているので、引数を渡す一連のインラインイベント関数呼び出しは必要ありません。

4

2 に答える 2

1

すでに Mootools を使用している場合、これを行う良い方法は、要素のデータ ストレージを使用することです。

window.addEvent('domready', function() {
  $$('a.classname').each(function(el) {
    el.store('productID', /*get this however you want*/);

    el.addEvent('click', function(e) {
      var productID = el.retrieve('productID');
    }
  }
}

productID を取得する方法の 1 つを次に示します (URL のフォーマットを制御できると仮定します)。

<a href='ViewProduct.php?ProductID=7#pid:7'>link</a>

//in your js (above)
var pid = el.get('href').split('#')[1].split(':')[1];
el.store('productID', pid);
于 2009-01-20T22:23:17.707 に答える
0

HTML コードに値を設定しますか? それ以外の場合は、dom ノード自体に値を動的に追加できます。

それらを html に設定する場合、標準への準拠を気にしない場合は、カスタム属性を使用してください。気にする場合は、値をクラス名としてエンコードするか、lang-attribute を使用してデータの前に「x-」を付けて、RFC 1766 への準拠を維持します。

于 2009-01-20T22:18:52.847 に答える