JS代码
<script type="text/javascript">
var list = document.getElementsByClassName('sortByTestName');
for (var i = 0; i < list.length; i++) {
var current = list[i].innerHTML;
list[i].onclick = function() {
window.alert(current);
}
}
</script>
好的,所以这里的代码通过class name
遍历html文件查找元素,然后我创建了一个for loop
。所有元素都显示在屏幕上,当点击一个元素时,我想提醒被点击的元素的值。例如,假设元素是数字1-10。它们在页面中垂直显示,当用户点击说3号浏览器时,应在框3中发出警告。设计/显示方面的所有内容都有效。我遇到的问题是,当我点击任何元素时,最后一个元素总是显示出来。就我们的数字示例而言,如果用户点击数字5,则显示最后一个数字10。如果用户点击任何号码,则显示最后一个号码。我相信这是因为在点击某些内容之前整个循环正在执行。我想知道如何解决这个问题。
答案 0 :(得分:1)
var list = document.getElementsByClassName('sortByTestName');
for (var i = 0; i < list.length; i++) {
list[i].onclick = function() {
window.alert(this.innerHTML);
}
}
div:hover {
cursor: pointer;
}
<div class="sortByTestName">
<span>Here is some inner html</span>
</div>
<div class="sortByTestName">
<span>Some more inner html</span>
</div>