【发布时间】:2015-12-29 20:03:27
【问题描述】:
我想找到搜索结果的特定单词并使用window.find()滚动到它
如何在特定的 div 不是所有页面中使用window.find()?
【问题讨论】:
-
你不能,window.find() 是浏览器提供的 API,没有这样的选项。
-
好的#dandavis。我该如何解决这个问题?
标签: javascript jquery
我想找到搜索结果的特定单词并使用window.find()滚动到它
如何在特定的 div 不是所有页面中使用window.find()?
【问题讨论】:
标签: javascript jquery
* 这不是原生 JavaScript *
你应该做的是将 div 元素缓存在一个变量中,然后像这样添加一个函数
(function($) {
$.fn.goTo = function() {
$('html, body').animate({
scrollTop: $(this).offset().top + 'px'
}, 'fast');
return this;
}})(jQuery);
然后可以通过使用 jQuery 选择您的元素来使用它,并且会自动聚焦到它。为你解决了一半
接下来,我将使用类似于此链接中使用的内容来突出显示特定字符串 highlight text tutorial。
然后最简单的部分是在您的 div 中查找字符串。您要做的是获取您正在查找的字符串的长度并像这样使用该值。
var sub = find.length //The string you are looking for
element.substring(element.indexOf(find, sub);
这是假设您的 div 不包含子元素。否则,您将不得不修改它以遍历子元素列表并使用上述查找方法检查每个子元素。变化不大,但还是有变化。
【讨论】: