首页 > 解决方案 > 如何使用事件对象使用 Javascript 更改 HTML 文本

问题描述

我不明白为什么 e.target.name 显示 undefined 即使 e.target 返回节点。我如何简单地使用事件对象更改文本?

function changeText(e) {
  console.log(e.target, e.target.name);
  
  switch (e.target.name) {
    case 'fooBar':
      e.target.innerHTML = 'bar';
      break;
  }
}
<div>
  <p name="fooBar" onclick="changeText(event)">foo</p>
</div>

标签: javascripthtml

解决方案


function changeText(e) {
    console.log(e.target.getAttribute('name'));
    switch (e.target.getAttribute('name')) {
    case 'fooBar':
        e.target.innerHTML = 'bar';
        break;
    }
}

e.target 是一个 html 节点,所以你必须使用 DOM api 来获取属性


推荐阅读