当我有一个for循环链接时,我遇到了这个问题,我希望每个链接都通过jquery提醒,但只有第一个链接正常工作..可能是什么问题?
<link rel='stylesheet' href='CSS/nook.css' type='text/css' media='screen, projection' />
<script type="text/javascript" src="JS/jquery-1.10.2.min.js"></script>
这是我的剧本
<script>
$(document).ready(function() {
$("#click").click(function(e)
{
e.preventDefault();
alert("hi");
});
})
</script>
这是我的循环
<?php
for($i=0;$i<2;$i++){
echo "<a href = '' id = 'click'>a</a><br>";
}
?>
答案 0 :(得分:4)
元素的ID必须是唯一的,使用class对相似的元素进行分组
<?php
for($i=0;$i<2;$i++){
echo "<a href = '' class='click'>a</a><br>";
}
?>
然后
<script>
$(document).ready(function() {
$(".click").click(function(e)
{
e.preventDefault();
alert("hi");
});
})
</script>
当您使用id-selector时,它将仅返回具有给定ID的第一个元素,其他元素将被忽略。因此,在您的情况下,单击处理程序将仅注册到具有标识click
答案 1 :(得分:0)
ID是唯一的,每页只能有1个。所以这是错误的:
<a id="unique"></a>
<a id="unique"></a>
相反,您需要使用一个类:
<a class="not_unique"></a>
<a class="not_unique"></a>
使用jquery访问类的方式是使用.
而不是#
:
$(".click")