Javascript 如何从事件路径返回特定HTML节点的属性

Javascript 如何从事件路径返回特定HTML节点的属性,javascript,events,event-handling,Javascript,Events,Event Handling,我有一个按钮,里面有图像和文本,如下所示: <button on-tap="doSomething"> <img src="./path/to/img.png"> <p>Text<p> </button> 但是,路径会根据单击按钮的位置而变化。如果单击的是图像而不是按钮空白,则会显示位于e.path[0].innerText的正确文本 我想我可以在路径中循环并在找到第一个按钮后返回,但我不确定如何匹配选择器名称 functio

我有一个按钮,里面有图像和文本,如下所示:

<button on-tap="doSomething">
  <img src="./path/to/img.png">
  <p>Text<p>
</button>
但是,路径会根据单击按钮的位置而变化。如果单击的是图像而不是按钮空白,则会显示位于e.path[0].innerText的正确文本

我想我可以在路径中循环并在找到第一个按钮后返回,但我不确定如何匹配选择器名称

function doSomething(e) {
  e.path.forEach(el => {
    if (el.name === 'button') console.log(el.innerText);
  }
}
或者我可以将数据绑定到图像和按钮,但这似乎是错误的方法

如何从路径中选择按钮并检索其内部文本?

您可以尝试将标记名属性用于目标元素:

功能剂量计{ 如果e.target.tagName==“按钮”{ console.loge.target.innerText; } } 文本
是无效的标记。->允许的内容->但不能有令人敬畏的内容。谢谢你!
function doSomething(e) {
  e.path.forEach(el => {
    if (el.name === 'button') console.log(el.innerText);
  }
}