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中将嵌套列表扁平化的多种实现方法

《Python中将嵌套列表扁平化的多种实现方法》在Python编程中,我们常常会遇到需要将嵌套列表(即列表中包含列表)转换为一个一维的扁平列表的需求,本文将给大家介绍了多种实现这一目标的方法,需要的朋... 目录python中将嵌套列表扁平化的方法技术背景实现步骤1. 使用嵌套列表推导式2. 使用itert

Java中的for循环高级用法

《Java中的for循环高级用法》本文系统解析Java中传统、增强型for循环、StreamAPI及并行流的实现原理与性能差异,并通过大量代码示例展示实际开发中的最佳实践,感兴趣的朋友一起看看吧... 目录前言一、基础篇:传统for循环1.1 标准语法结构1.2 典型应用场景二、进阶篇:增强型for循环2.

Python循环结构全面解析

《Python循环结构全面解析》循环中的代码会执行特定的次数,或者是执行到特定条件成立时结束循环,或者是针对某一集合中的所有项目都执行一次,这篇文章给大家介绍Python循环结构解析,感兴趣的朋友跟随... 目录for-in循环while循环循环控制语句break语句continue语句else子句嵌套的循

MySQL存储过程之循环遍历查询的结果集详解

《MySQL存储过程之循环遍历查询的结果集详解》:本文主要介绍MySQL存储过程之循环遍历查询的结果集,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录前言1. 表结构2. 存储过程3. 关于存储过程的SQL补充总结前言近来碰到这样一个问题:在生产上导入的数据发现

使用Python获取JS加载的数据的多种实现方法

《使用Python获取JS加载的数据的多种实现方法》在当今的互联网时代,网页数据的动态加载已经成为一种常见的技术手段,许多现代网站通过JavaScript(JS)动态加载内容,这使得传统的静态网页爬取... 目录引言一、动态 网页与js加载数据的原理二、python爬取JS加载数据的方法(一)分析网络请求1

Python中合并列表(list)的六种方法小结

《Python中合并列表(list)的六种方法小结》本文主要介绍了Python中合并列表(list)的六种方法小结,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋... 目录一、直接用 + 合并列表二、用 extend() js方法三、用 zip() 函数交叉合并四、用

Spring Boot中的YML配置列表及应用小结

《SpringBoot中的YML配置列表及应用小结》在SpringBoot中使用YAML进行列表的配置不仅简洁明了,还能提高代码的可读性和可维护性,:本文主要介绍SpringBoot中的YML配... 目录YAML列表的基础语法在Spring Boot中的应用从YAML读取列表列表中的复杂对象其他注意事项总

CentOS7增加Swap空间的两种方法

《CentOS7增加Swap空间的两种方法》当服务器物理内存不足时,增加Swap空间可以作为虚拟内存使用,帮助系统处理内存压力,本文给大家介绍了CentOS7增加Swap空间的两种方法:创建新的Swa... 目录在Centos 7上增加Swap空间的方法方法一:创建新的Swap文件(推荐)方法二:调整Sww

C++类和对象之初始化列表的使用方式

《C++类和对象之初始化列表的使用方式》:本文主要介绍C++类和对象之初始化列表的使用方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录C++初始化列表详解:性能优化与正确实践什么是初始化列表?初始化列表的三大核心作用1. 性能优化:避免不必要的赋值操作2. 强

Nginx部署React项目时重定向循环问题的解决方案

《Nginx部署React项目时重定向循环问题的解决方案》Nginx在处理React项目请求时出现重定向循环,通常是由于`try_files`配置错误或`root`路径配置不当导致的,本文给大家详细介... 目录问题原因1. try_files 配置错误2. root 路径错误解决方法1. 检查 try_f