0

このスクリプトを自分のサイトに追加しようとしていますが、スクリプト「voucherCode」によって生成された同じ要素のリストがあるため、ここで苦労しています。テストすると、最初の要素だけが「明らかに」なるからです。クリックした...

  <!--EDIT-->

機能するクラスを使用してスクリプトを呼び出してみましたが、今ではすべて明らかになります:

4

1 に答える 1

0

Blazemonger が言ったように、ブラウザーは同じ ID を持つ複数の要素を取得しません。Id は一意である必要があり、繰り返しが必要な場合はクラスを使用します。

まず、ID の代わりにクラスを追加する必要があります。

<div class="voucherCode">

jqueryを使用する場合(最初にヘッダーで呼び出し、Google jquery)

$('.trigger_class').click(function(){
    //do what you need to do here when clicked
    //to access all of the voucherCode class you use $('.voucherCode').css('display', 'block');
});

更新 2: 特定のものだけを明らかにしたい場合は、それらの識別子 (クラス (2 以上) または id (1 つだけ)) が必要であり、表示したいものをターゲットにします。より動的にするには、rev または title 属性をトリガー アンカー タグに追加し、jquery を使用してその属性を取得し、表示する要素として使用します。

<a class="trigger_class" rev="reveal_class_or_ID">....</a>

次にJavaScriptで

$('.trigger_class').click(function(){
    //grab the rev from the a, this is use a class (hence the .  if it is using id it would be #)
    $("." + $(this).attr("rev")).css('display','block');
});

最後に、アイテムに Reveal_class_or_ID を追加することを忘れないでください

アップデート:

私はphpが苦手ですが、イテレータまたはインデックスを追加するオプションがあるようです

<div class="revealVoucher" id="reveal_dynamicID">
    <a href="<?=$affiliate_url?>" target="_blank">Reveal Code</a>
</div>

<div class="voucherCode" id="show_dynamicID">
    <a href="<?=$affiliate_url?>"><?=$voucher_code?></a>
</div>

PHPでイテレータがどのように機能するかはわかりませんが、PHPを知っているならこれは理にかなっているはずです

于 2012-05-10T13:44:22.457 に答える