jquery 如何查找当前页面的字符串并定位到那个字符串位置呢?如果找不到的话,提示没有找到。有点类似浏览器的Ctrl+f 功能,求解,谢谢大家。之前写了一个,但是不兼容谷歌浏览器
直接对document进行indexOf
直接对document进行indexOf
直接对document进行indexOf
<script> <br /> $(function () { <br /> $("#find").click(function () { <br /> clearSelection(); <br /> var searchText = $("#keyword").val(); <br /> var regExp = new RegExp(searchText, 'g'); //创建正则表达式,g表示全局的,如果不用g,则查找到第一个就不会继续向下查找了; <br /> $('p').each(function () { <br /> var html = $(this).html(); <br /> var newHtml = html.replace(regExp, '<span class="highlight">' + searchText + ''); //将找到的关键字替换,加上highlight属性; <br /> <br /> $(this).html(newHtml); //更新; <br /> flag = 1; <br /> }); <br /> <br /> <br /> var ele = $(".highlight").eq(0); <br /> var top = ele.offset().top; <br /> $('html,body').animate({ scrollTop: top }, 300); <br /> }) <br /> }) <br /> <br /> function clearSelection() { <br /> $('p').each(function () { <br /> //找到所有highlight属性的元素; <br /> $(this).find('.highlight').each(function () { <br /> $(this).replaceWith($(this).text()); //将他们的属性去掉; <br /> }); <br /> }); <br /> } <br /> </script>
虽然没找到答案,我自己解决了,我贴出来吧