javascript - 如何使用事件对象使用 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>
解决方案
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 来获取属性
推荐阅读
- python - AttributeError:模块 'google.cloud' 没有属性 'logging' Google Cloud
- scala - How to print the sign %?
- swift - 如何从更高的闭包级别访问隐含的闭包参数
- python - 如何在 Django 中使用带有过滤器的多个注释?
- django - Django Trailing Slash 抛出 404
- python - Python AWS Lambda 部署 - 没有 Zappa 要求的 Zappa 包
- swift - 仅具有特定捆绑标识符的框架未找到错误
- python - Codechef ORMATRIX
- php - php将int乘以十进制产生一个int?
- google-app-engine - 谷歌云部署 - 操作超时