相同的数据从JQuery中具有相同ID的不同Div返回

时间:2013-11-26 08:14:45

标签: javascript jquery html

我有以下代码片段,我动态生成了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

您可以在http://jsfiddle.net/AFHfn/118/

查看我的小提琴

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]' ),但重要性更加清晰。