在我的 div 标签中,有很多行非常长的文本,并且 div 元素当前是可滚动的。我想做的是找到特定字符串的第一次出现并自动滚动到包含该字符串的行。没有换行符或任何类型的字符串分隔符,我可以使用它来轻松近似滚动位置。
我想我可以做这样的事情:
var max_chars_per_line = approximated max # of chars that can fit into one line;
var font_height = approximated font height in px;
var needle = string to look for;
var haystack = content in the <div> tag;
var index = haystack.indexOf(needle);
var num_lines_to_skip = index / max_chars_per_line;
my_div_tag.scrollTo(num_lines_to_skip * font_height);
我不禁想知道是否有更好的(javascript/jQuery)解决方案。我自己的尽职调查没有发现任何问题。