3 回答

TA貢獻1772條經驗 獲得超5個贊
id="categoryItem"
問題出在這個ID分配上。如果這是您的實際代碼,則只需為循環中的所有元素設置相同的ID“ categoryItem”。除了違反HTML標準外,如果您使用此ID尋址元素,這還會導致大多數瀏覽器選擇第一個元素。
要解決此問題,您可以將類別名稱包含在id中,如下所示:
@foreach (var category in ViewBag.Categories)
{
<li class="item"><a id="[email protected]" value ="@category.categoryName">@category.categoryName</a></li>
}
但是,這僅在您的類別名稱不包含空格的情況下才能正常工作,因此使用某種整數id可能會更好。
還要注意""圍繞value價值的雙引號。

TA貢獻1828條經驗 獲得超13個贊
根據您的代碼來建立列表:
@foreach (var category in ViewBag.Categories)
{
<li class="item"><a value="@category.categoryName">@category.categoryName</a></li>
}
假設有15個類別,我想要第6個類別是“ java”,我可以使用jquery來獲得。
這可以解釋為:
第六類,恰好是“ java”(即值不相關)
給予:
$("li.item>a:eq(5)").addClass("thisone");
或為:
“ java”類別,恰好是第六類別(即職位無關)
給予:
$("li.item>a[value=java]").addClass("thisone");
(它將選擇所有“ java”)
或為:
第6個“ java”類別(即至少有6個為“ java”,而您希望第6個)
給予:
$("li.item>a[value=java]:eq(5)").addClass("thisone");
更改.addClass("thisone")為您要對該項目執行的操作
您似乎在問3個不同的問題-如何獲取ID,如何獲取nth元素以及:
當我單擊任何div中的任何鏈接或元素時,我必須獲得分配給它的特定值
$("li.item>a").click(function() {
console.log($(this).prop("value"))
});
正如其他人指出的那樣,問題是您可能使用:
$("#categoryItem")...
由于在HTML文檔中ID必須是唯一的,因此,這始終會為您提供第一個信息。(您會注意到我id=從上面的代碼段中刪除了該問題)

TA貢獻1803條經驗 獲得超6個贊
你有categoryId
你的category
模式嗎?如果您這樣做,則更id="categoryItem"
改為id="@category.categoryId"
添加回答
舉報