JQuery - 链接上的click()函数识别某些链接但不识别其他链接

时间:2017-05-14 13:09:01

标签: javascript php jquery html

我已修改此代码以确认在点击链接时打开页面:

<a href="http://google.com" id="check">Visit Google!</a>

<script>
$('#check').click(function(e) {
e.preventDefault(); // Prevent the href from redirecting directly
var linkURL = $(this).attr("href");
warnBeforeRedirect(linkURL);
});

function warnBeforeRedirect(linkURL) {
swal({
title: "このリンク開けますか?", 
text: "If you click 'OK', you will be redirected to " + linkURL, 
type: "warning",
showCancelButton: true
}, function() {
// Redirect the user
window.location.href = linkURL;
});
}
</script>

此代码剪辑非常有效,因为它嵌入在我的index.php页面中。但是,另一个代码片段如下所示:

<a href='/classreg.php?studentid=<?php echo $row["studentid"]; ?>&classid=<?php echo $row["classID"]; ?>&furikae=2&class_time=<?php echo $datecheck; ?>' class="btn btn-warning" id="check">
<span class="glyphicon glyphicon-hand-right"></span>欠席 
</a>

不起作用。第一个链接调用函数,而第二个链接不调用。

我认为某些东西必须妨碍识别id标签,但我不知道如何调试它,因为我对JS和JQuery来说相对较新。

如果我忘记添加任何重要信息,请告知我们。

谢谢。

1 个答案:

答案 0 :(得分:2)

使用class选择器代替id选择器。您不能将相同的ID设置为多个元素。这是您的第一个链接有效而其他链接无效的问题。

所以你的代码应该是这样的

<a href="http://google.com" class="check" id="check">Visit Google!</a>

和第二个href

<a href='/classreg.php?studentid=<?php echo $row["studentid"]; ?>&classid=<?php echo $row["classID"]; ?>&furikae=2&class_time=<?php echo $datecheck; ?>' class="btn btn-warning check" id="check1">

并且在js中使用$('.check')而不是$('#check')