0

ボタン/リンクのテキストを変更する簡単な JQuery スクリプトを作成しています。ただし、私が持っているコードでは、一致する ID の最初のリンクのみが変更されます。

たとえば、「coupon-link」という ID を持つ 10 個のリンクがあります。ユーザーがそれらのいずれかを押すと、属性「クーポンコード」がリンクの現在のコンテンツをクーポンコードに置き換える必要があります。現在、それは一度しか実行されず、最初のリンクのみを置き換えます-2番目または3番目のリンクを押しても。

これは私が今持っているものです:

// Coupon button checker
$("#coupon-link").click(function() {
    $(this).addClass("coupon-clicked");

    alert($(this).attr('coupon-code'));

    if (!$(this).hasClass("coupon-shown") && $(this).hasClass("coupon-clicked")) {
        // Replace the text with the coupon code
        $(".coupon-clicked").html("<b>Rabattkod: " + $(this).attr('coupon-code') + "</b>");

        // This one has been unveiled
        $(".coupon-clicked").addClass("coupon-shown");

        // Remove the clicked class
        $(".coupon-clicked").removeClass("coupon-clicked");
    }
});

したがって、私の問題は基本的に、個別のリンクごとに .click を実行するにはどうすればよいですか? リンク#1が押されたときにリンク#1の属性がそのコンテンツに置き換えられ、#2と#3なども同様になるようにするにはどうすればよいですか?

4

2 に答える 2

4

同じ ID を持つ 10 個のリンクを持つことはできません。id="coupon-link" を class="coupon-link" に変えて使用

$(".coupon-link").click(function() {
//code
于 2013-09-03T14:27:52.127 に答える
0

ID は、ページ内のすべてのタグに対して一意である必要があります。このセレクターを使用して目標を達成することはできますが、

$("a[id=coupon-link]").click(function() {
//
于 2013-09-03T14:32:12.303 に答える