如何知道单击了哪个链接/按钮然后替换内容?

时间:2013-09-03 14:25:54

标签: javascript jquery html

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

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

这就是我现在所拥有的:

// 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也是如此,依此类推?

2 个答案:

答案 0 :(得分:4)

can not have 10个具有相同ID的链接。将id =“coupon-link”转为class =“coupon-link”并使用

$(".coupon-link").click(function() {
//code

答案 1 :(得分:0)

对于页面中的每个标记,ID应该是唯一的。即使您可以使用此选择器实现目标:

$("a[id=coupon-link]").click(function() {
//