我正在编写一个简单的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也是如此,依此类推?
答案 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() {
//