我在服务器端创建了一个ul
列表,如下所示。我想用jquery将click事件添加到a
元素,但我无法访问任何元素。这是我的代码:
服务器端:
StringBuilder sbSubCitchens = new StringBuilder();
sbSubCitchens.Append(@"<div id=""content_1"" class=""subCats"">");
sbSubCitchens.Append("<ul>");
foreach (kitchen kitchen in kitchenList)
{
sbSubCitchens.Append(@"<li><a class="" " + kitchen.KitchenId + @""">" + kitchen.Name + "</a> </li>");
}
sbSubCitchens.Append("</ul>");
sbSubCitchens.Append("</div>");
ltrKitchenList.Text = sbSubCitchens.ToString();
使用Javascript:
$(document).ready(function () {
$(".mCSB_container ul li a").click(function () {
// do smth...
});
})
Html输出:
<div class="mCSB_container" style="position: relative; top: 0px;">
<ul>
<li><a class=" 1">Cafe</a> </li>
<li><a class=" 2">Dünya Mutfağı</a> </li>
</ul>
</div>
答案 0 :(得分:3)
试试这个:
$(".mCSB_container ul li a").click(function (e) {
e.preventDefault();
// do smth...
});
我认为点击可能有效,但由于您没有阻止默认操作,链接可能正在重新加载页面。
同时确保html输出符合您的预期,因为您发布的服务器端代码本身不会为您提供所发布的输出(因此选择器不起作用)。
答案 1 :(得分:0)
我认为你必须把“href”参数:
<a href="#" class="whatever">Some stuff</a>