首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >jQuery-Append方法只创建元素,而不创建元素中的id

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

Stack Overflow用户
提问于 2014-09-11 07:16:38
回答 1查看 203关注 0票数 0

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

我有一个html代码,其中有一些div标记:

代码语言:javascript
复制
    <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>追加更多的元素:

代码语言:javascript
复制
$("#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=”的id,尽管元素是创建的(可见),但只有id="1“不会显示id="2”。

我已经尝试重新排列jquery代码的位置,但没有happens.What我做错了什么?谢谢。

EN

回答 1

Stack Overflow用户

发布于 2014-09-11 07:20:27

假设您已经使用$('.data').attr('id')获取ids,attr作为getter返回集合中第一个元素的值,您应该遍历集合并逐个读取ids。

我用的是$('.data').click(function(){ alert($(this).attr('id')); });

这意味着你应该委托事件,当代码执行时,$('.data')选择在特定时刻存在的.data元素,集合不包含生成的元素:

代码语言:javascript
复制
$('.results').on('click', '.data', function() {
     alert(this.id);
});

还要注意,您不应该使用重复的ids。你的代码应该能处理这个问题。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/25776591

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档