您好我正在尝试实现以下目标:我正在创建一个由面板(div)组成的网站(实际上是某种网络应用程序)。
在其中一个面板上,我在另一个 div 中放置了大量文本:
<div class="panel">
<div id="substantialText">
bla
bla
bla
bla
</div>
</div>
我需要能够使用标题中的输入字段搜索此文本并像这样转到文本位置(在输入字段中键入文本将调用函数“findText()”......我需要找出在此写的内容功能:
<div class="panel">
<header>
<div>
<input type="text" id="searchField" onKeyUp="findText();" /><br/>
</div>
</header>
<div id="substantialText">
bla
bla
bla
bla
</div>
</div>
我有以下但卡住了(将文本的 innerhtml 与搜索字段的值进行比较):
function findText()
{
var streng = document.getElementById(substantialText).innerHTML;
var search = document.getElementById(searchField).value.toString().toLowerCase();
if(document.getElementById(felt).value.length == 0)
{
//don't judge me
}
else
{
var rgxp = new RegExp(search, "gi");
// Getting number of hits...works as intented
alert(streng.match(rgxp).length);
}
}
我正在考虑使用与它们的位置配对的命中数组,然后能够使用数组的索引循环遍历命中。但我看不出我将如何实现这一目标。
如何让“substantialText”向下滚动到命中(给定索引)。我已经成功地能够跳转到包含 ID 或锚点的元素,但我无法理解如何仅使用文本字符串来实现相同的目标。