JS循环列表中增加单击事件

2024-05-09 11:38

本文主要是介绍JS循环列表中增加单击事件,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

列表生成:

fetch('./api?query={comment{id,avatar,name,isTop,content,publishDate,commentNum,praiseNum}}')

              .then(res => res.json())

              .then(res => {

                document.getElementById("comment_list_num").innerHTML = `(${res.data.comment.length})`;

                document.getElementById('comment_list').innerHTML = res.data.comment.map(item => {

                  return `

                      <li class="reJj6Thl_0"><img src="${item.avatar} class="_2273kGdT_0">

                        <div class="_2CG0SquK_0">

                          <div class="_304R4gla_0">

                            <div>

                              <div class="_18Dng5rT_0"><span>${item.name}</span> ${item.isTop ? '<span class="_1bkbsnjg_0">置顶</span>' : ''}</div>

                              <div class="_1H1Z49Dr_0">${item.publishDate}</div>

                            </div>

                            <!---->

                          </div>

                          <div>

                            <div class="_3M6kV3zb_0 _3D2NkqD6_0">${item.content}</div>

                            <div class="_1w8H0ktn_0 _2A421P4G_0">

                              <div class="_2jsFl-X0_0"><i class="iconfont"></i> <span>${item.commentNum}</span></div>

                              <div class="_2P4B1Hdm_0 _praise" data-id="${item.id}"><i class="iconfont"></i> <span class="">${item.praiseNum}</span></div>

                              <!---->

                            </div>

                          </div>

                        </div>

                      </li>                    `

                })

              })

 

单击事件:

 document.getElementById('comment_list').addEventListener('click', e => {

              const $bindtarget = e.target.className.indexOf('_praise') != -1 ? e.target :

                (e.target.parentElement.className.indexOf('_praise') != -1 ? e.target.parentElement : null)

              if ($bindtarget) {

                fetch("./api", {

                  method: "POST",

                  headers: {

                    'content-type': 'application/json'

                  },

                  body: JSON.stringify({

                    "query": "mutation { praise(id: " + $bindtarget.getAttribute("data-id") + ") }"

                  })

                }).then(res => res.json())

                  .then(res => {

                    $bindtarget.querySelector('span').innerHTML = res.data.praise

                  })

              }

            })

这篇关于JS循环列表中增加单击事件的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/973308

相关文章

Python列表去重的9种方法终极指南

《Python列表去重的9种方法终极指南》在Python开发中,列表去重是一个常见需求,尤其当需要保留元素原始顺序时,本文为大家详细介绍了Python列表去重的9种方法,感兴趣的小伙伴可以了解下... 目录第一章:python列表去重保持顺序方法概述使用字典去重(Python 3.7+)使用集合辅助遍历性能

linux ssh如何实现增加访问端口

《linuxssh如何实现增加访问端口》Linux中SSH默认使用22端口,为了增强安全性或满足特定需求,可以通过修改SSH配置来增加或更改SSH访问端口,具体步骤包括修改SSH配置文件、增加或修改... 目录1. 修改 SSH 配置文件2. 增加或修改端口3. 保存并退出编辑器4. 更新防火墙规则使用uf

Python 常用数据类型详解之字符串、列表、字典操作方法

《Python常用数据类型详解之字符串、列表、字典操作方法》在Python中,字符串、列表和字典是最常用的数据类型,它们在数据处理、程序设计和算法实现中扮演着重要角色,接下来通过本文给大家介绍这三种... 目录一、字符串(String)(一)创建字符串(二)字符串操作1. 字符串连接2. 字符串重复3. 字

JS纯前端实现浏览器语音播报、朗读功能的完整代码

《JS纯前端实现浏览器语音播报、朗读功能的完整代码》在现代互联网的发展中,语音技术正逐渐成为改变用户体验的重要一环,下面:本文主要介绍JS纯前端实现浏览器语音播报、朗读功能的相关资料,文中通过代码... 目录一、朗读单条文本:① 语音自选参数,按钮控制语音:② 效果图:二、朗读多条文本:① 语音有默认值:②

在Node.js中使用.env文件管理环境变量的全过程

《在Node.js中使用.env文件管理环境变量的全过程》Node.js应用程序通常依赖于环境变量来管理敏感信息或配置设置,.env文件已经成为一种流行的本地管理这些变量的方法,本文将探讨.env文件... 目录引言为什么使php用 .env 文件 ?如何在 Node.js 中使用 .env 文件最佳实践引

MyBatis/MyBatis-Plus同事务循环调用存储过程获取主键重复问题分析及解决

《MyBatis/MyBatis-Plus同事务循环调用存储过程获取主键重复问题分析及解决》MyBatis默认开启一级缓存,同一事务中循环调用查询方法时会重复使用缓存数据,导致获取的序列主键值均为1,... 目录问题原因解决办法如果是存储过程总结问题myBATis有如下代码获取序列作为主键IdMappe

使用Node.js和PostgreSQL构建数据库应用

《使用Node.js和PostgreSQL构建数据库应用》PostgreSQL是一个功能强大的开源关系型数据库,而Node.js是构建高效网络应用的理想平台,结合这两个技术,我们可以创建出色的数据驱动... 目录初始化项目与安装依赖建立数据库连接执行CRUD操作查询数据插入数据更新数据删除数据完整示例与最佳

Three.js构建一个 3D 商品展示空间完整实战项目

《Three.js构建一个3D商品展示空间完整实战项目》Three.js是一个强大的JavaScript库,专用于在Web浏览器中创建3D图形,:本文主要介绍Three.js构建一个3D商品展... 目录引言项目核心技术1. 项目架构与资源组织2. 多模型切换、交互热点绑定3. 移动端适配与帧率优化4. 可

Spring 依赖注入与循环依赖总结

《Spring依赖注入与循环依赖总结》这篇文章给大家介绍Spring依赖注入与循环依赖总结篇,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友参考下吧... 目录1. Spring 三级缓存解决循环依赖1. 创建UserService原始对象2. 将原始对象包装成工

Python进阶之列表推导式的10个核心技巧

《Python进阶之列表推导式的10个核心技巧》在Python编程中,列表推导式(ListComprehension)是提升代码效率的瑞士军刀,本文将通过真实场景案例,揭示列表推导式的进阶用法,希望对... 目录一、基础语法重构:理解推导式的底层逻辑二、嵌套循环:破解多维数据处理难题三、条件表达式:实现分支