我有一个foreach循环,在其中呈现大约10个不同的链接,当用户点击链接时,它们共享一个共同的 ID 和不同的名称我希望Jquery能够执行我已经可以完成的特定功能。我遇到问题的部分是如何让Jquery注意到哪个链接被点击了;这是我的代码,它应该清理
Jquery的
<script>
$(document).ready(function () {
$("#mee").click(function (e) {
if ($(this).text() == "[+]") {
$("#mee").text("[-]");
}
else {
$("#mee").text("[+]");
}
});
});
</script>
页
foreach (var item in Model.IEThreadpost)
{
<a id="mee" style="color: #980000" name="@item.ThreadpostID" href="#">[+]</a>
}
我知道这是有效的,因为循环的第一个元素总是正确响应,但所有其他元素都不起作用。如果你看一下foreach循环,你会在名称中看到一个变量,它总是一个整数,所以循环id,name总是类似
用它说如何更改上面的Jquery代码以包含正确的 Name 标识,以便在单击时正确的链接起作用?
答案 0 :(得分:0)
首先,您网页上的所有ID属性都应具有唯一值。
解决方案(蝙蝠,未经测试)可能是:
foreach (var item in Model.IEThreadpost)
{
<a id="@item.ThreadpostID" class="mee" style="color: #980000" name="@item.ThreadpostID" href="#">[+]</a>
}
(注意值&#34; mee&#34;如何转移到类属性,这对于重复项可以正常工作)
和
<script>
$(document).ready(function () {
$(".mee").click(function (e) {
if ($(this).html() == "[+]") {
$(this).html("[-]");
}
else {
$(this).html("[+]");
}
});
});
</script>