我使用JSON检索数据:
$(document).ready(function () {
var url = '<%: Url.Content("~/") %>' + "Products/GetMenuList";
$.getJSON(url, function (data) {
$.each(data, function (index, dataOption) {
$("#navmenu-v").append("<li><a href='javascript:DoNothing();' id='list'>"
+ dataOption.Name + "</a></li>");
});
$('#list').click(function () {
//add some content to div
});
});
});
我想点击#list,然后做任何事情。但是当我使用alert进行测试时,它只能在第一个列表中运行。
谁能告诉我,我怎么能这样做?
感谢。
答案 0 :(得分:1)
$('#yourdivid').html('whateveryouwant');
答案 1 :(得分:1)
扩展ubercooluk的答案:
您需要将其包装在单击事件处理程序中。
$('#yourdivid').click(function() { $('#yourdivid').html('whateveryouwant'); });
编辑:尝试使用查询查找按ID或类引用添加的元素。 http://api.jquery.com/find/
像这样:
$('#yourdivid').click(function() { $('#yourdivid').find('.li-class or something that references these').html('whateveryouwant'); });
此外,永远不要使用id多次。使用类然后使用上面描述的find方法。
祝你好运!答案 2 :(得分:1)
因为元素是在加载文档后动态创建的,所以普通的点击处理程序将不起作用。你必须委托处理程序,使用.on。
使用href='javascript:void(0);'
来防止默认
$(document).ready(function () {
var url = '<%: Url.Content("~/") %>' + "Products/GetMenuList";
$.getJSON(url, function (data) {
$.each(data, function (index, dataOption) {
$("#navmenu-v").append("<li><a href='javascript:void(0);' id='list'>"
+ dataOption.Name + "</a></li>");
});
});
$('#navmenu-v').on('click','#list',function () {
$('#mydiv').append('new code');
});
});
答案 3 :(得分:1)
要按ID选择多个元素,您应该使用更好的选择器:
$('a#list').click(function () {
//add some content to div
});