首页 > 解决方案 > 如何使用 JavaScript 选择最接近的 HTML5 元素?

问题描述

我们正在将分析集成到一个应用程序中,并且我们正在寻找location一个元素。在这种情况下,没有给出位置的好 div,所以我们试图抓取最近的元素。

这可以使用.closest吗?我可以传递一个标签数组['header', 'article', section],并选择单击元素附近的最近元素吗?

var tabs = Array.from(document.querySelectorAll('.details'));

function handleTabClick(e) {
  var tabNode = e.target;
  tabLabel = tabNode.innerText;
};

tabs.forEach(function(tab) {
  tab.addEventListener('click', handleTabClick);
});

标签: javascripthtml

解决方案


I would delegate from nearest STATIC html container or from the document

document.addEventListener("click",function(e) {  
  const tgt = e.target;
  if (tgt.tagName==="SECTION" || tgt.closest("section")....) {
   // handle section
  }
  else if (tgt.tagName==="ARTICLE" || tgt.closest("article")....) {) {
   // handle article
  }
})

推荐阅读