如何通过点击的 div 获取正确的 ID

如何通过点击的 div 获取正确的 id

本文旨在解决动态生成的 HTML 元素中,点击事件无法获取正确 ID 的问题。通过事件委托和 DOM 元素查找,我们将提供一种可靠的方法,确保点击事件能够准确地获取与点击元素关联的 ID 值。本文将提供详细的代码示例和解释,帮助开发者解决类似问题。

在动态生成 HTML 内容时,特别是使用循环生成多个相似元素时,经常会遇到点击事件处理中 ID 获取不正确的问题。 根本原因在于,事件处理函数可能错误地选择了页面上的第一个匹配元素,而不是实际被点击的元素。要解决这个问题,需要使用事件委托和正确的 DOM 元素查找方法。

问题分析

原始代码中,点击 .histor-uten 元素时,使用 $(“input[name=’id_utt’]”).val() 来获取 ID。 这种方式会选取页面上第一个 name 属性为 id_utt 的 input 元素的值,而不是被点击元素内部的 input 元素的值。

解决方案:事件委托和 DOM 元素查找

以下代码演示了如何使用事件委托和 DOM 元素查找来解决这个问题:

var data = [   {codigo: "1", Utente: "Teste", },   {codigo: "2", Utente: "Teste1", },   {codigo: "3", Utente: "Teste2",},   {codigo: "4", Utente: "Teste3", },   {codigo: "5", Utente: "Teste4", },   {codigo: "6", Utente: "Teste5", },];$(document).on('click', '.dad-inf', function(){var linha = ``;for (var i = 0; i < data.length; i++) {codigo = data[i].codigo;Utente = data[i].Utente;linha += ``;   }   $(".tesssste").html(linha);});$(document).on('click', '.histor-uten', function(e){    let parent = $(this);    // First make sure it selects the element with the histor-uten class  if(!parent.hasClass('histor-uten')){    parent = $(this).closest('.histor-uten');  }    // Get the child input from the parent instead of the first one in the document  var id_utt = $(parent.find("input[name='id_utt']")).val();  console.log(id_utt);});$(function() {    $(".btn-show").click(function(e) {      e.preventDefault();      el = $(this).data('element');      $(el).show();      $("section > div").not(el).hide();    });});

代码解释

事件委托: 使用 $(document).on(‘click’, ‘.histor-uten’, function(e){ … }); 将点击事件绑定到 document 对象上,然后通过选择器 .histor-uten 来指定事件处理函数只处理点击 .histor-uten 元素的事件。 这种方式被称为事件委托,可以有效地处理动态生成的元素。

查找父元素:let parent = $(this);, this 关键字指向实际被点击的元素。 接下来,使用 $(this).closest(‘.histor-uten’) 确保 parent 变量始终指向具有 histor-uten 类的最近的祖先元素。

查找子元素: 使用 $(parent.find(“input[name=’id_utt’]”)).val(); 在被点击元素的父元素内部查找 name 属性为 id_utt 的 input 元素,并获取其值。 parent.find() 确保只在当前被点击元素的范围内查找子元素,从而避免选取到错误的 input 元素。

HTML 代码

<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/[email protected]/dist/css/bootstrap.min.css"><script src="https://cdn.jsdelivr.net/npm/[email protected]/dist/js/bootstrap.min.js">Utentes

总结

通过使用事件委托和正确的 DOM 元素查找方法,可以有效地解决动态生成的 HTML 元素中点击事件 ID 获取不正确的问题。 这种方法不仅可以确保获取正确的 ID,还可以提高代码的效率和可维护性。 在处理动态生成的 HTML 内容时,建议始终使用事件委托和精确的元素选择器,以避免类似问题的发生。

以上就是如何通过点击的 div 获取正确的 ID的详细内容,更多请关注创想鸟其它相关文章!

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 chuangxiangniao@163.com 举报,一经查实,本站将立刻删除。
发布者:程序猿,转转请注明出处:https://www.chuangxiangniao.com/p/1598063.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
PHP滑块页面提交表单后返回原激活幻灯片的教程
上一篇 2025年12月23日 12:35:56
解决Haskell CGI应用在Apache下读取文件数据时输出截断问题
下一篇 2025年12月23日 12:36:17

相关推荐

  • 家居行业具身智能大模型!萤石蓝海大模型获CIC灼识咨询权威市场地位确认

    近日,萤石自主研发的“萤石蓝海大模型”正式获得由权威咨询机构cic灼识咨询颁发的“家居行业首个具身智能大模型”市场地位确认证书。 根据中国计算机协会定义,具身智能大模型是一种依托物理实体进行感知与行动的智能系统,通过智能体与环境的持续交互获取信息、理解问题、做出决策并执行动作,从而实现智能行为和自适…

    2026年8月29日
    000
  • 天猫店铺首页装修步骤是什么?天猫店铺首页装修教程

    提升天猫店铺形象需从首页装修入手,首先进入商家后台选择PC端首页装修,接着选用匹配类目的模板快速美化页面,有设计能力者可自定义全屏海报并嵌入热区代码,随后添加轮播图、商品推荐、店招等核心模块优化信息布局,最后切换至手机端调整排版与组件确保移动端体验流畅。 如果您希望提升天猫店铺的专业形象和用户体验,…

    2026年8月29日
    000
  • 公开赞扬希特勒、反犹主义!马斯克旗下公司就聊天机器人惹祸致歉

    7月14日消息,当地时间12日,美国企业家埃隆·马斯克旗下人工智能公司xai就其聊天机器人grok发表赞美希特勒等不当言论公开道歉,并解释称该事件是由于系统更新过程中误用了一段已废弃的代码所致,目前相关代码已被删除。 据透露,xAI在其官方社交媒体账号上发文表示:“我们对大家所遭遇的(Grok的)恶…

    2026年8月29日
    200
  • 死亡搁浅2定档2025年豪华演员阵容全面揭晓

    死亡搁浅2定档2025年豪华演员阵容全面揭晓死亡搁浅2定档2025年豪华演员阵容全面揭晓死亡搁浅2定档2025年豪华演员阵容全面揭晓死亡搁浅2定档2025年豪华演员阵容全面揭晓

    备受瞩目的续作《死亡搁浅2》终于公布了发售日期:2025年6月26日。主角山姆·波特·布里吉斯将再次肩负起连接破碎世界的重任,开启一段更加波澜壮阔的旅程。本作不仅延续了前作深受玩家喜爱的演员阵容,更迎来了众多新星加盟,为这场后末日传奇注入全新活力。一起来看看这份星光璀璨的名单! 旧友归来,使命延续 …

    2026年8月29日 用户投稿
    300
  • Listen1如何同步播放列表_Listen1同步播放列表的实现方法

    要实现Listen1播放列表同步,需先确保所有设备使用同一账号登录。1、点击右上角“登录”,输入邮箱密码并确认显示用户名。2、进入左下角设置,开启“自动同步播放列表”功能。3、手动点击播放列表顶部的“同步”按钮强制刷新数据。4、检查网络连通性,必要时配置代理或核对API密钥有效性。5、若无法云同步,…

    2026年8月29日
    100
  • 如何解决网站安全验证问题?使用GoogleCloudRecaptchaEnterprise可以!

    可以通过以下地址学习 composer:学习地址 在开发过程中,我发现传统的验证码系统无法满足我的需求,因为它们不仅用户体验差,而且对机器人攻击的防护效果有限。经过一番研究,我决定使用 Google Cloud Recaptcha Enterprise 来提升网站的安全性和用户体验。 安装 Goog…

    用户投稿 2026年8月29日
    200
  • yii2asset使用cdn

    在 Yii2 中使用 CDN 加速资源可以:注册一个 CDN 服务,并在其中设置 CDN 区域和缓存规则。在 Yii2 配置文件中配置 CDN:添加 CDN URL、启用链接资产、指定要加速的包。例如,使用 Bootstrap 资产时,可将其 CDN 配置为 ‘//cdn.example…

    2026年8月29日
    100
  • 为什么iPhone7Plus系统升级后屏幕无响应如何强制重启?按电源键和音量减键

    首先强制重启iPhone 7 Plus,同时长按音量减键和电源键约10秒直至出现苹果Logo;若无效,则充电30分钟并连接电脑使用iTunes进入恢复模式恢复系统。 如果您尝试访问某个网站,但服务器无法访问,则可能是由于服务器 IP 地址无法解析。以下是解决此问题的步骤: 本文运行环境:iPhone…

    2026年8月29日
    100
  • VSCode怎么弹出输出框_VSCode输出面板显示与隐藏管理教程

    输出面板是VSCode中用于集中查看任务、扩展、调试和Git等非交互式日志的核心工具,通过快捷键Ctrl+Shift+U快速打开,支持在不同输出通道间切换,可自定义自动弹出行为、位置及外观,与终端(交互式命令执行)和调试控制台(程序运行时交互)形成互补,提升开发效率。 在VSCode中,要弹出输出框…

    2026年8月29日
    300
  • MySQL触发器导致性能下降怎么办_如何优化或替代?

    MySQL触发器导致性能下降怎么办_如何优化或替代?MySQL触发器导致性能下降怎么办_如何优化或替代?MySQL触发器导致性能下降怎么办_如何优化或替代?MySQL触发器导致性能下降怎么办_如何优化或替代?

    mysql触发器性能问题主要源于执行效率低或操作频繁,优化需从减少工作量和提升执行方式入手。1.通过慢查询日志和explain分析定位性能瓶颈,优化sql语句并添加索引;2.拆分触发器逻辑,将不必要的操作移至应用层;3.控制触发频率,采用延迟或异步处理机制;4.考虑用存储过程替代触发器,利用其预编译…

    2026年8月29日 用户投稿
    100
  • swoole框架使用教程

    Swoole 框架是一个高性能 PHP 协程框架,通过异步非阻塞 I/O 提升网络处理能力。其中包括:安装:使用 Composer 安装 Swoole 框架创建服务器:创建 Swoole HTTP 服务器进行基本网络处理异步处理请求:使用协程机制异步处理 HTTP 请求以提升并发性WebSocket…

    2026年8月29日
    200
  • win10怎么解决100%磁盘占用_win10磁盘占用100%的终极解决方法

    禁用Windows Search服务以减少索引占用;2. 关闭SysMain(原Superfetch)避免预加载过度使用磁盘;3. 停用未使用的家庭组服务降低后台负载;4. 运行chkdsk /f /r修复磁盘错误;5. 禁用DiagTrack等遥测服务减少数据收集;6. 手动设置虚拟内存大小减轻频…

    2026年8月29日
    200
  • 如何解决中文转拼音的问题?overtrue/pinyin库助你轻松搞定!

    可以通过一下地址学习composer:学习地址 在开发一个多语言支持的项目时,我遇到了一个棘手的问题:如何将中文准确地转换成拼音。特别是处理多音字时,常规的解决方案往往不够精确,导致用户体验不佳。经过一番探索,我找到了 overtrue/pinyin 这个库,它不仅能高效地处理中文转拼音,还能准确处…

    用户投稿 2026年8月29日
    100
  • swoole教程全套学习

    Swoole 是一个高性能 PHP 异步网络框架,使用多进程、事件循环和协程实现并发。安装:使用 Composer 或手动安装 Swoole 源代码。使用:创建 HTTP 服务器、处理 WebSocket 连接和使用协程并行执行任务。高级功能:支持集群、定时任务和数据库连接池。 Swoole 教程:…

    2026年8月29日
    200
  • 谷歌浏览器密码管理器怎么使用_谷歌浏览器密码管理器如何使用详细方法

    谷歌浏览器密码管理器怎么使用_谷歌浏览器密码管理器如何使用详细方法谷歌浏览器密码管理器怎么使用_谷歌浏览器密码管理器如何使用详细方法谷歌浏览器密码管理器怎么使用_谷歌浏览器密码管理器如何使用详细方法谷歌浏览器密码管理器怎么使用_谷歌浏览器密码管理器如何使用详细方法

    谷歌浏览器密码管理器可自动保存、填充和管理登录信息。先在设置中开启“提供保存密码”功能,登录网站时即可提示保存;保存后可在“密码管理器”中查看、编辑或删除账号密码,支持跨设备同步与导入其他浏览器密码,建议避免在公共电脑使用并定期清理,配合强密码保障安全。 谷歌浏览器的密码管理器能帮你自动保存、填充和…

    2026年8月29日 用户投稿
    000
  • win10怎么开启上帝模式_win10开启“上帝模式”的秘籍

    可通过创建快捷方式、运行命令或重命名文件夹三种方法开启Windows 10上帝模式,输入特定CLSID代码即可集中访问所有系统设置选项。 如果您想快速访问Windows 10中的所有系统设置选项,可以通过启用所谓的“上帝模式”来实现,这能将绝大多数控制面板和管理工具集中在一个文件夹中。以下是开启此功…

    2026年8月29日
    100
  • 芯原推出低功耗AI降噪与AI超分辨率系列IP

    ☞☞☞AI 智能聊天, 问答助手, AI 智能搜索, 免费无限量使用 DeepSeek R1 模型☜☜☜ 芯原股份推出全新AI图像处理IP系列,赋能高清影像时代 2025年2月27日,上海——芯原股份(芯原,股票代码:688521.SH)今日宣布推出其最新一代AI图像处理IP系列,包括智能降噪IP …

    2026年8月29日
    100
  • 如何使用Composer解决Laravel项目中的数据表格展示问题?yajra/laravel-datatables助你轻松实现!

    可以通过一下地址学习composer:学习地址 在开发 laravel 项目时,数据表格的展示和处理是一个常见且重要的需求。我最近在项目中遇到了一个棘手的问题:如何高效地展示大量数据,并提供排序、搜索、分页等功能。开始时,我尝试了手动编写代码来实现这些功能,但发现这不仅耗时,而且容易出错。经过一番探…

    用户投稿 2026年8月29日
    100
  • 美团王兴,中国具身智能第一投资人

    美团王兴,中国具身智能第一投资人美团王兴,中国具身智能第一投资人美团王兴,中国具身智能第一投资人美团王兴,中国具身智能第一投资人

    你可能没留意到,如火如荼的具身智能融资大潮里,棋局热闹,棋子如云,而低调又凶猛的棋手,却不显山不露水。 美团王兴,就是这场激战里真正的(骑手)棋手。 尽管 7 月只过去了 11 天,美团已经接连出手了 2 家具身智能公司:它石智航 & 星海图。 其中包含对星海图连续领投 2 次,又猛又狠 —…

    2026年8月29日 用户投稿
    000
  • win10怎么彻底关闭输入法的广告和推荐_Win10输入法去广告与推荐设置技巧

    首先关闭输入法右下角广告弹窗,右键任务栏输入法图标进入设置,高级选项中关闭“桌面右下角推荐”;若无效可修改注册表删除Microsoft.Pinyin相关项;再通过设置-个性化-开始,关闭“偶尔在开始菜单显示建议”以禁用推荐内容;最后检查任务计划程序,禁用搜狗、腾讯等第三方输入法相关任务,彻底清除捆绑…

    2026年8月29日
    000

发表回复

登录后才能评论
关注微信