0

我正在编写一个简单的 JQuery 脚本,它将更改按钮/链接的文本。但是,使用我拥有的代码,只有匹配 ID 的第一个链接会被更改。

例如,我有 10 个 ID 为“coupon-link”的链接。当用户按下其中一个时,“优惠券代码”属性应将链接的当前内容替换为优惠券代码。目前它只运行一次,它也只替换第一个链接——即使我按下第二个或第三个链接。

这就是我现在所拥有的:

// 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

不能有10 个具有相同 ID 的链接。将 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 回答