我试图通过唯一ID选择这些元素。在这种情况下,唯一ID为@item.cardID
。
@model IEnumerable<FunRanger.Models.CardModel>
foreach (var item in Model)
{
<a name="spam" href="javascript:;" class="@item.cardID btn btn-primary">0 Spam</a>
<a href="javascript:;" class=" @item.cardID btn btn-success">0 Loves</a>
<a href="javascript:;" class=" @item.cardID btn btn-primary">0 Favorites</a>
<a href="javascript:;" class=" @item.cardID btn btn-danger">0 Hates</a>
}
我将通过列表在视图页面上显示许多链接。我尝试在每个锚标签上使用jQuery通过ajax发布一些数据。
我会使用唯一ID在上面的每个锚点上使用ajax动作。
我已经使用名为@item.cardID
的id和类,并且之前使用过它 -
for ID- $('#'+"@item.cardID")
for Class- $('.'+"@item.cardID")
现在对于所有左侧元素,那些应该只使用唯一ID我只留下选项是使用它的名称。所以我尝试了 -
<a name="spam" href="javascript:;" class="@item.cardID btn btn-primary">0 Spam</a>
现在和jQuery -
<script type="text/javascript">
$(function () {
$('a[name=spam][Class="."+"@item.cardID"]').click(function () {
alert("@item.cardID");
});
});
</script>
但这不起作用。如何在不破坏其他元素的情况下使用这个唯一ID?
答案 0 :(得分:0)
您应该考虑利用HTML5的data-
属性来存储元素上的元数据。 jQuery使用data()
方法支持此功能。
foreach (var item in Model)
{
<a name="spam" data-cardId="@item.cardID" class="btn btn-primary">0 Spam</a>
...
}
现在,将处理程序绑定到名称值为“spam”的任何链接:
$(function () {
$('a[name=spam]').click(function (e) {
e.preventDefault();
var cardId = $(this).data('cardId');
alert(cardId);
});
});