循环插入多个append后,如何获取单个append中指定的值

weixin_41239009 2019-03-05 03:15:53
这里用for循环append了一组列表
for (var i=0;i<list_num;i++){//遍历data对象
id[i]=list_count[i].id;
title[i]=list_count[i].title;
tags[i]=list_count[i].tags;
imtro[i]=list_count[i].imtro;
ingredients[i]=list_count[i].ingredients;
burden[i]=list_count[i].burden;
albums[i]=list_count[i].albums;
steps[i]=list_count[i].steps;
var showhtml="";
showhtml=showhtml+showhtml;
showhtml="<ui class='list-group'><li class='list-group-item'><table border='1'><tr><th rowspan='4'><img src="+albums[i]+" height='120px' width='120px'><td id='menu_id'>"+id[i]+"</td><td width='60px' style='text-align: right;'><button type='button' id='add_collection' class='glyphicon-plus' height='5px' width='5px'></i></td></tr><tr><td colspan='2' >"+title[i]+"</td></tr><tr></th><td colspan='2'>"+tags[i]+"</td></tr><tr><td colspan='2'>"+burden[i]+"</td></tr></table></li></ui>"; $("#out").append(showhtml);
console.log("2");
$("#out").append(showhtml);

//alert(showhtml);
}


就生成大概这个样子,不要在意样式= =。如图有一个“+”,需要做到点击它的同时获取他的对应的id
$("#out").on('click', '#add_collection', function(event) {
event.preventDefault();
//var menu_id=$("#menu_id").val();
// console.log(menu_id);
var menu_id=$("#add_collection").val();
});


但由于它是批量生成的,有多个add_collection,单用标签id获取不到了,不知道用什么方法来获取它
这个问题我也百度不到了,人是老人,手是新手,求各位支个招!!



...全文
345 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
天际的海浪 2019-03-05
  • 打赏
  • 举报
回复

//id不能重复,在需要同时获取多个元素时最好用class获取。(不过你是委托事件的话用id也可以,但最好还是用class)
$("#out").on('click', '.glyphicon-plus', function(event) {
   event.preventDefault();
   //在事件函数中获取当前元素可以用$(this)
   var menu_id=$(this).val();
});

weixin_41239009 2019-03-05
  • 打赏
  • 举报
回复
是对的。。。是我改错地方了,二楼说法正确
weixin_41239009 2019-03-05
  • 打赏
  • 举报
回复
引用 2 楼 丰云 的回复:
一小段代码,一堆错误。。。。 1.部分标签没有收尾 2.部分标签没有配对位置错误 3.按钮id重复(id应该是页面唯一的) 真是不忍直视。。。 然后,由于你的button的id不是唯一的,导致你的点击事件无法判断当前到底是那一个按钮。。。。 最后,在修复上述错乱问题之后,建议在button里面加一个自定义属性,比如<button ... myid=" +id[i]+" ...></button> 在点击事件里取: var id = $(this).attr('myid');
1.标签位置的确错了,但是不影响输出,这个已经改了 2.<button ... myid=" +id[i]+" ...></button>---这个我之前有加过但是不知道怎么取 3.Attr(),这个函数我之前没有了解过,现在知道了,谢谢 最后,根据您的建议创建myid这个属性,由于循环,有多个<button myid="XX">这个元素,导致attr()的输出为undefined
丰云 2019-03-05
  • 打赏
  • 举报
回复
一小段代码,一堆错误。。。。 1.部分标签没有收尾 2.部分标签没有配对位置错误 3.按钮id重复(id应该是页面唯一的) 真是不忍直视。。。 然后,由于你的button的id不是唯一的,导致你的点击事件无法判断当前到底是那一个按钮。。。。 最后,在修复上述错乱问题之后,建议在button里面加一个自定义属性,比如<button ... myid=" +id[i]+" ...></button> 在点击事件里取: var id = $(this).attr('myid');
丰云 2019-03-05
  • 打赏
  • 举报
回复
你添加的html中的标签都没有配对,乱的,怎么取??

87,910

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 JavaScript
社区管理员
  • JavaScript
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧