html中在某个父元素动态生成列表子元素,添加点击事件,利用事件委托

在web的html中,假设我要设计一个列表,并且每个列表点击后可以携带参数跳转到另一个网址

我们一般想当然通过for循环,然后在每个列表标签div内层或外层包裹一个a,然后使得这个a标签的href设置成对应携带参数的网址,比如:

javascript 复制代码
<div id = "listIdDiv"><div>


var str = "";
for (var i = 0 ;i< list.length ; i++){
  str += '<a id="itemCard" href = "/list/detail?id=' + i + '"><div>列表</div></a>'
}
$("#listIdDiv").html(str);

可结果发现,点击列表既然没反应???

解决方案:

html中在某个父元素动态生成列表子元素,添加点击事件,利用事件委托

javascript 复制代码
    $("#listIdDiv").on('click', '.itemcard', function(event) {  
        // 这里 'this' 指向被点击的 .itemcard 元素  
        var url = $(this).find('a').attr('href'); // 假设每个 .itemcard 内都有一个 <a> 标签,其 href 属性包含要导航的 URL  
        if (url) {  
            window.location.href = url; // 导航到该 URL  
        } else {  
            console.error('No href attribute found on the <a> element inside the clicked .itemcard.');  
        }  
    });  

//这个要写在生成后,或前面,在for循环前或后

最后才能给每个列表绑定上相关的a标签的href事件

相关推荐
IT_陈寒19 小时前
Vue这个特性差点让我加班到凌晨,谁懂啊
前端·人工智能·后端
kyriewen19 小时前
我让AI改一个bug——它偷偷动了5个我没让它碰的地方
前端·javascript·ai编程
遇乐的果园19 小时前
前端学习笔记-vue加载渲染优化
前端·笔记·学习
用户9850335932820 小时前
OpenLayers 热力图从原理到 Vue 组件一键接入
前端
颜酱20 小时前
01 | 骨架搭建:FastAPI + Vue 跑通第一个 SSE 流式问答
前端·人工智能·后端
hoLzwEge20 小时前
解码 IDE 智能提示:jsconfig.json 辅助开发全攻略
前端·前端框架
leoZ23120 小时前
记忆系统与 Agent 定制完全指南(四):自定义 Agent 开发(一)
前端·chrome
慧一居士20 小时前
Element Plus 按需引入的配置使用说明和完整示例
前端·vue.js
程序员黑豆20 小时前
鸿蒙应用开发实战:从零学会自定义组件
前端·华为·harmonyos
leoZ23120 小时前
记忆系统与 Agent 定制完全指南(三):记忆的检索与使用
前端·chrome