我有以下代码片段,我动态生成了div,div的ID基于事件日期,例如“Tue26Nov”。如果当天只有一个事件,这意味着将只有一个具有此ID的div,但如果我在同一日期有2个或更多事件,我将有2个或更多具有相同ID的div,在这种情况下,JQuery从First div本身返回数据,但是我希望它单独从三个div中返回数据。代码如下:
<div id="WedNov27">Event 1</div>
<div id="WedNov27">Event 2</div>
<div id="WedNov27">Event 3</div>
我正在做的是点击,我将这些div中的数据打印到另一个div,但它正在打印
活动1 活动1 活动1
而不是
活动1 活动2 活动3
查看我的小提琴答案 0 :(得分:2)
答案在于问题;)
ID应该是唯一的,如果您想要多个具有相同“名称”的元素
,您可以分类<div class="WedNov27">Event n</div>
答案 1 :(得分:1)
这是因为您有重复的id
属性,这些属性无效。请使用class
对其进行分组。
您在每次迭代中看到相同值的原因是因为jQuery仅返回id
选择时找到的第一个元素的值。
答案 2 :(得分:0)
与其他答案一样,我建议避免使用ID - 意外行为是以不应该使用它们的方式使用它们的结果。与其他答案不同,我建议避免使用类和使用更具体的代码的数据属性:data-date="WedNov27"
或许?检索的语法稍微冗长一点:$( '[data-date=WedNov27]' )
,但重要性更加清晰。