【发布时间】:2021-10-06 05:26:20
【问题描述】:
当我按下回车键时,我有这段代码循环遍历 div。
<input type="text" id="keywords"></input>
document.getElementById("keywords").addEventListener("keyup", function(e) {
if (e.key === 'Enter') {
var element = document.getElementsByTagName("mark");
for (var y=0; y<element.length; y++) {
console.log(y);
}
}
}, false);
但控制台会记录如下内容:0 1 2 3 4...
我希望它在每次按 Enter 时记录每个新索引。所以它会像:0(输入)1(输入)2(输入)3...
我该怎么做?
【问题讨论】:
-
你想做什么?为什么你需要
document.getElementsByTagName? -
@Unmitigated 我正在像 ctrl+f 一样进行搜索,我正在尝试弄清楚如何使用它来执行输入功能。如果用户在输入中键入内容并且关键字与页面上的某个单词匹配,则页面上的单词将被包装到自定义 html 标记“mark”中。在这种情况下,这就是我检测页面上有多少匹配关键字的方法。 (当我问一个问题时,每个人都对“mark”标签感到非常困惑,我认为如果我将其更改为“div”会更容易,但我想它也很混乱,所以我只是将它保留为“mark”。它没有无论如何,我的问题是关于循环的。)
-
不能直接将值添加到数组中,还是“mark”元素有特殊用途?你是在强调事情吗?设置一些CSS? @Maroun
标签: javascript arrays for-loop foreach