jQuery-Append方法只创建元素,但不创建元素中的id

时间:2014-09-10 23:16:38

标签: jquery html

解决:问题是我想清除浏览器的缓存,也许是jquery-min地图404错误,我也解决了(感谢未定义的帮助)。

我有一个HTML代码,其中有一些div标签:

    <div class="results">
        <div id="r1" class="horizontal element">
            <img src="logo1.jpg" class="photo">
            <div id="1" class="data"></div>
        </div>
    </div>

我有这个jQuery代码,当我点击一个按钮时,我会向<div class="results"></div>添加更多元素:

$("#show_more").click(function(){
$(".results").append('<div id="r2" class="horizontal element"><img src="logo2.jpg" class="photo"><div id="2" class="data"></div></div>');});

问题在于,如果我想提醒()class =“data”的id,只有id =“1”才会显示id =“2”,尽管该元素已创建(可见)。
我试图重新排列jquery代码的位置,但没有任何反应。我做错了什么?谢谢。

1 个答案:

答案 0 :(得分:0)

假设您已使用$('.data').attr('id')获取idattr作为getter返回集合中第一个元素的值,您应该遍历集合并阅读{{ 1}}单独。

  

我使用了id

这意味着您应该委派事件,在执行代码时,$('.data').click(function(){ alert($(this).attr('id')); });选择在该特定时刻存在的$('.data')元素,集合不包含生成的元素:

.data

另请注意,您不应使用重复的ID。你的代码应该处理它。