parentElement.parentElement.parentElement...替代方案?

2024-02-14

我需要从所有 HTML 元素内部的按钮执行的函数中访问 HTML 元素中最外部 div 的 id。

我在用着e.target.parentElement.parentElement.parentElement.parentElement.parentElement.id它有效,但对我来说看起来很难看。

还有另一种方法可以遍历这么多的parentElements吗?


在现代浏览器中,您可以使用Element.closest(选择器) https://developer.mozilla.org/en-US/docs/Web/API/Element/closest

document.querySelector('button').addEventListener('click', function(){
   console.log('Container id:', this.closest('.container').id);
})
<div class="container" id="one">
  <div>
    <div>
       <button>Click me</button>
    </div>
  </div>

</div>
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

parentElement.parentElement.parentElement...替代方案? 的相关文章

  • Jquery从下拉列表中获取所选值的id

    我有一个下拉列表 可以从数据库获取值 如下所示 get getJobs function jobs seljobs jobs var i 0 jobs forEach function n alert job id n id 32 67 4
  • 动画进度元素值

    我有一个progress元素 该元素如下所示 div class container div div div
  • Leaflet js虚构地图

    我是 Leaflet 的新手 我想了解如何创建完全交互式的虚构地图 我有一张图像想要转换为传单地图 该图像基本上像图表一样具有许多连接和点 我想首先将该图像转换为地图 能够将鼠标悬停在这些点上 突出显示它们并显示有关它们的信息 并且还可以在
  • 使用 CryptoJS 更改密钥 [重复]

    这个问题在这里已经有答案了 我正在使用 CryptoJS 来加密和解密文本 在这里 我只是获取消息并显示加密和解密消息 我使用DES算法进行加密和解密 这是我的 HTML 文件
  • 检查 touchend 是否在拖动后出现

    我有一些代码可以更改表的类 在手机上 有时表格对于屏幕来说太宽 用户将拖动 滚动来查看内容 但是 当他们触摸并拖动表格时 每次拖动都会触发 touchend 如何测试触摸端是否是触摸拖动的结果 我尝试跟踪dragstart和dragend
  • 防止用户在下拉菜单中选择默认值

    我试图阻止用户选择默认的下拉菜单选项 有没有办法在下拉菜单选项中添加文本而不是值 我的代码
  • 仅一页 JavaScript 应用程序

    您是否尝试过单页 Web 应用程序 即浏览器仅从服务器 获取 一页 其余部分由客户端 JavaScript 代码处理 此类 应用程序页面 的一个很好的例子是 Gmail 对于更简单的应用程序 例如博客和 CMS 使用这种方法有哪些优点和缺点
  • 如何通过php获取网页的Open Graph协议?

    PHP 有一个简单的命令来获取网页的元标记 get meta tags 但这仅适用于具有名称属性的元标记 然而 开放图谱协议如今变得越来越流行 从网页获取 opg 值的最简单方法是什么 例如 我看到的基本方法是通过 cURL 获取页面并使用
  • 为什么大多数 C 开发人员使用 Define 而不是 const? [复制]

    这个问题在这里已经有答案了 在许多程序中 define与常量具有相同的用途 例如 define FIELD WIDTH 10 const int fieldWidth 10 我通常认为第一种形式优于另一种形式 它依赖于预处理器来处理基本上是
  • Jquery 中的动态滚动位置

    请帮助我解决以下情况 我有 3 个页面 当滚动到达第二页时 用户滚动页面 它必须找到特定的 ID 然后触发一个函数 一旦第三页开始 另一个函数就会触发 根据要求我不应该使用任何插件
  • iOS7 中“-webkit-overflow-scrolling: touch” 最初的屏幕外元素被破坏

    既然转基因种子已经发布了 我们现在可以谈谈了 看起来 iOS7 中的 webkit overflow scrolling touch 已损坏 最初不在屏幕上的元素的触摸事件不会触发 或者在某些情况下只是不可靠 这是一个例子
  • 通过 node-http-proxy 保留基于 cookie 的会话

    我有一个简单的基于 Express 的 Node js Web 服务器 用于开发 JavaScript 应用程序 我将服务器设置为使用 node http proxy 来代理应用程序向在不同域和端口上运行的 Jetty 服务器发出的 API
  • Typeahead.js substringMatcher 函数说明

    我只是在做一些研究Typeahead js这是一个非常酷的图书馆 感谢文档 我已经成功地获得了一个基本的示例 该文档也非常好 但是我试图弄清楚以下代码块实际上在做什么 var substringMatcher function strs r
  • 淡出和循环一组 div 的最佳方式

    假设我有以下 div div class a You are funny div div class b You are smart div div class c You are cool div 最好的展示方式是什么div a持续 5
  • 单击关闭按钮后不显示 Google 一键登录 UI

    我正在尝试按照本指南使新的谷歌一键登录工作 https developers google com identity one tap web https developers google com identity one tap web
  • Twitter 嵌入时间轴小部件

    我继续下载http platform twitter com widgets js http platform twitter com widgets js And the http platform twitter com embed t
  • 类型“typeof import("/home/kartik/Desktop/Ecommerce/ecommerce/node_modules/firebase/index")”上不存在属性“auth”。 TS(2339)

    我是 FireBase 的初学者 我正在尝试使用 Angular 通过 FireBase 实现 Google 登录 我在 auth 时收到上述错误 我特此附上login component ts和package json package l
  • 当用户单击链接时,如何记录 MixPanel 事件?

    当用户单击某种类型的链接时 我试图在 MixPanel 中记录一个事件 我正在使用 JQuery 不引人注意地完成此操作 据我所知 我需要添加一个回调函数 以便在记录事件后将用户带到 URL 这是我正在使用的代码 不幸的是
  • JavaScript 代码在不使用 ActiveX 的情况下截取网站屏幕截图

    我有一个用户与之交互的 JavaScript 应用程序 我需要保存当前界面的外观 裁剪出我需要的部分 或者通过指定div只拍摄我需要的部分 然后发送回服务器 显然任何外部服务都无法做到这一点 我需要一个 JavaScript 或Flash
  • KeyboardAvoidingView - 隐藏键盘时重置高度

    我正在使用 React NativeKeyboardAvoidingView设置我的高度View当显示键盘时 但是当我关闭应用程序中的键盘时 视图的高度不会变回原来的值

随机推荐

  • Facebook 广告 API - 批量请求定位搜索

    问题 我在提交 Facebook Ads API 的批量请求时遇到问题 我想知道是否有人可以提供有关以下错误的见解 我尝试获取艺术家列表 在这个简化示例中仅列出 50 名 然后针对这些艺术家提交 TargetingSearch 请求 但是
  • Hadoop put 性能 - 大文件(20GB)

    我正在使用 hdfs put 将一个 20GB 的大文件加载到 hdfs 中 目前该过程运行 4 分钟 我正在尝试缩短将数据加载到 hdfs 的写入时间 我尝试利用不同的块大小来提高写入速度 但得到以下结果 512M blocksize 4
  • Chrome 加载第一个 AJAX 响应速度很慢

    我正在使用 React 和 Flux 构建一个应用程序 单击项目列表会启动一个操作 然后使用以下命令启动 通过效果 AJAX 请求axios 虽然我已经尝试过superagent bluebird promise具有相同的结果 问题是 使用
  • 如何杀死 iPhone 中后台运行的应用程序?

    我只是想知道如何杀死 iPhone 中的后台进程 应用程序 就像在 Auto Lock SBSettings 中一样 进程 切换能够列出所有后台进程并允许用户杀死其中的任何进程 提前致谢 感谢 refulgentis Chuck 的快速回复
  • 设置 BOOL 属性的正确方法

    我想在类初始值设定项中设置一个 BOOL 属性 property assign nonatomic BOOL isEditMode id init self setValue NO forKey isEditMode return self
  • 如何隐藏 Chrome“在调试器中暂停”覆盖层?

    Chrome 的一些半新更新现在在断点处暂停时在我的网页上放置了一个叠加层 此时 我特别尝试查看页面标记的状态 而叠加层正好隐藏了我想要看到的内容 有没有办法关闭这个标记 或者有没有办法将 Chrome 恢复到没有此错误功能的版本 现在 I
  • 放置Database.SetInitializer的地方

    我正在开发一个项目 该项目最终可能会出现多个 UI 版本 变体 但到目前为止 我的解决方案 Web 中有两个子项目 包含带有 ASP NET MVC 的 Web 界面 服务项目是我定义数据库上下文和模型的地方 我的目标是在我的 Web 项目
  • iPhone:键盘挡住屏幕[重复]

    这个问题在这里已经有答案了 可能的重复 UITableView和键盘滚动问题 https stackoverflow com questions 594181 uitableview and keyboard scrolling issue
  • 相当于 Matlab 的“randsample”随机样本

    Java中有没有类似的函数randsample在Matlab中 它可以返回加权样本 随机均匀采样并放回 并且具有权重 w i 对于每个数字 选择数字 i 的概率是 w i sum w 我想用这样的东西 randsample 0 1 1 tr
  • 如何将 Vuetify 选项卡与 vue-router 一起使用

    我有以下内容jsfiddle https jsfiddle net jjloneman e5a6L27u 12 有两个 Vuetify 选项卡 该文档没有显示使用示例vue router跟他们 我找到了这个Medium com 帖子 htt
  • Docker Rails mysql 未连接

    我正在尝试将主机上的 Rails 应用程序连接到 docker mysql 映像 但我收到此错误 Authentication plugin caching sha2 password cannot be loaded dlopen usr
  • 如何使用 Python 将新列附加到 CSV 文件? [复制]

    这个问题在这里已经有答案了 我在一个数组中存储了一组四个数字 我想将其添加到 分数 列下的 CSV 文件中 with open Player csv ab as csvfile fieldnames Score writer csv Dic
  • 有没有办法可以从包含代码的字符串动态定义谓词主体?

    这可能是一个愚蠢的问题 但就这样吧 我希望能够从数据库 VARCHAR 列或任何字符串解析的字符串动态构造谓词 例如 假设数据库中的列包含以下字符串 return e SomeStringProperty Contains foo 这些代码
  • MySQL 存储函数创建错误 ERROR 1064 & 1327

    我正在使用 MySQL v5 1 36 我正在尝试使用此代码创建一个存储函数 DELIMITER CREATE FUNCTION modx getSTID x VARCHAR 255 RETURNS INT DETERMINISTIC BE
  • 为视图控制器设置插座/操作

    我有一个UIButton在不是我的应用程序中的根视图控制器的视图控制器中 我无法在头文件中拖动并为其创建插座或操作 我只能从根视图控制器执行此操作 这有一个简单的原因吗 使用故事板时 XCode 仅为第一个视图控制器 名为 ViewCont
  • CSS 同步转换

    您好 有一个在 hover 上打开的菜单 当我将鼠标悬停到下一个元素时 它会等待一会儿 我希望两个过渡同时产生手风琴效果 我缺少什么 Fiddle http jsfiddle net jSBf3 css ul border 2px soli
  • 全屏查看 ionic 移动应用程序

    我有一个离子移动应用程序 我在移动浏览器上运行 它有一个静态标头 即使向下滚动 我也需要隐藏该网络应用程序的地址栏 但这不会发生 它有一个标题如下 它在本机移动浏览器上运行 我使用控制台构建了应用程序 所以请帮助我隐藏地址 标题栏并像 Fa
  • 在Python中将pdf转换为text/html以便我可以解析它

    我有以下示例代码 我从欧洲议会网站下载了有关给定立法提案的 pdf 文件 编辑 我最终得到了链接并将其提供给 adobes 在线转换工具 请参阅下面的代码 import mechanize import urllib2 import re
  • 在android中,如何从代码更改Daydream的设置?

    我想编写一个可以更改白日梦设置的应用程序 需要将我自己的梦想设置为已选择 并将何时播放选项设置为 任一 sdk 19版本可以实现这个功能吗 如果你想为用户设置白日梦 则不能这样做 但是 您可以在正确的位置打开系统设置 以便用户可以从已安装的
  • parentElement.parentElement.parentElement...替代方案?

    我需要从所有 HTML 元素内部的按钮执行的函数中访问 HTML 元素中最外部 div 的 id 我在用着e target parentElement parentElement parentElement parentElement pa