您好我正在努力实现以下目标: 我正在创建一个由面板(div)组成的网站(实际上是某种Web应用程序)。
在其中一个面板上,我有大量文字放在另一个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);
}
}
我正在考虑使用以某种方式与其位置配对的命中数组,然后能够使用数组的索引循环访问命中。但我看不出我会如何实现这一目标。
如何让'significantText'向下滚动到命中(给定索引)。我已经成功地跳转到一个包含ID或锚点的元素,但是我无法解决如何只使用文本字符串实现相同的目标。