javascript - 如何事件监听页面内点击的任何 html 标签,并输出其 id 属性的值
问题描述
我希望能够使用单击的任何锚点/链接的 id 属性值来修改/输出到特定标头标记的内容。
目前,我只能使用第一个 id 的值更改文本“City”(在下面的示例中为“New York”) - 因为文本位于嵌套的 div 标签之外,但仍在锚标签内。所以第一个链接有效,但第二个和第三个链接传递空字符串/不提供输出。我希望文本/内容保留在 div 标签中,如第二个和第三个链接中一样。
<base target=splash>
<H3 id=myTitle onclick="myFunction()">City</H3>
<a class="clickable" href="myPage.htm?id=108" id="New+York">New York
<div class=cityWrap>
<DIV class=cityNo>108</DIV>
<DIV class=cityName>New York</DIV>
<DIV class=country>USA</DIV>
</div>
</a>
<a class="clickable" href="myPage.htm?id=110" id="Shanghai">
<div class=cityWrap>
<DIV class=cityNo>110</DIV>
<DIV class=cityName>Shanghai</DIV>
<DIV class=country>China</DIV>
</div>
</a>
<a class="clickable" href="myPage.htm?id=112" id="Damascus">
<div class=cityWrap>
<DIV class=cityNo>112</DIV>
<DIV class=cityName>Damascus</DIV>
<DIV class=country>Syria</DIV>
</div>
</a>
<IFRAME src="myPage.htm" name=splash></IFRAME>
<script>
window.addEventListener('load', () => {
let myFunction = event => {
let clickedElem = event.target;
document.getElementById('myTitle').innerHTML = clickedElem.id;
};
for (let elem of document.getElementsByClassName('clickable')) elem.addEventListener('click', myFunction);
});
</script>
解决方案
你可以为每个链接尝试这样的事情
<a onclick="getElementById('myTitle').innerHTML = your title here">your value here</a>
否则尝试搜索 w3schools onclick 事件希望这会有所帮助:>
推荐阅读
- swift - Firebase/Crashlytics 版本 4.0.0-beta.1 - ForceCrash?
- java - 不应该存在的权限错误
- python-3.x - AttributeError:“str”对象没有属性“raw_data”(Python 语音助手)
- install4j - Install4j JVM 参数
- c - 使用 beaglebone black 的 spi 模块的问题
- firebase - 无法使用 Cloud Firestore 和 Flutter 在 ListView 中获取
- ios - 如何在 Swift 中编写 UI 测试来测试如果点击按钮,标签是否可见?
- asp.net - ASP.Net 错误中 Localhost IIS 上的 POS 热敏打印 - 未安装打印机
- android - 索引 43 处路径中的非法字符:/storage/emulated/0/WhatsApp/Media/WhatsApp Video/VID-20200122-WA0002.mp4
- python - 循环遍历 pandas 列并在满足条件时创建新列