我有一个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>
}
我知道这是可行的,因为循环的First元素始终可以正确响应,但其他所有元素均不起作用。如果查看foreach循环,则会在名称中看到一个变量,该变量始终是整数,因此循环id,name始终类似于
上面说的是,如何更改上面的Jquery代码以包含正确的名称标识,以便单击时正确的链接起作用?
首先,页面上的所有id属性都应具有唯一值。
一个解决方案(即时进行,未经测试)可能是:
foreach (var item in Model.IEThreadpost)
{
<a id="@item.ThreadpostID" class="mee" style="color: #980000" name="@item.ThreadpostID" href="#">[+]</a>
}
(注意如何将值“ mee”转移到类属性中,该属性可以与重复项一起很好地工作)
和
<script>
$(document).ready(function () {
$(".mee").click(function (e) {
if ($(this).html() == "[+]") {
$(this).html("[-]");
}
else {
$(this).html("[+]");
}
});
});
</script>
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句