このスクリプトを自分のサイトに追加しようとしていますが、スクリプト「voucherCode」によって生成された同じ要素のリストがあるため、ここで苦労しています。テストすると、最初の要素だけが「明らかに」なるからです。クリックした...
<!--EDIT-->
機能するクラスを使用してスクリプトを呼び出してみましたが、今ではすべて明らかになります:
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を知っているならこれは理にかなっているはずです