获取文章中特定单词的行号,该单词将放置在固定大小的div中

时间:2014-10-20 12:55:31

标签: javascript php jquery

我正在一个在线阅读网站上工作,我想把这篇文章放在一个固定大小的div中。该文章是一个没有换行符的字符串,但它将在div中的许多行中显示。如果我确切地知道字体系列和div的宽度,我是否有机会获得特定单词的行号。 (我想这样做是因为文章有一些与之相关的注释,我需要确保注释出现在正确的位置。)在服务器或客户端上完成这项工作都没问题。

1 个答案:

答案 0 :(得分:0)

不确定这是多么准确,但它正在使用小提琴:http://jsfiddle.net/pp2jawoz/

var searchWord = 'condimentum';
var searchContainer = $('[data-search="container"]');

searchContainer.html(searchContainer.html().replace(searchWord, '<span class="searched" data-search="word">' + searchWord + '</span>'));

var searchWordContainer = $('[data-search="word"]');
var line = Math.round((searchWordContainer.offset().top - searchContainer.offset().top) / searchWordContainer.height());

console.log(line);

更新字体和多字搜索的小提琴:http://jsfiddle.net/pp2jawoz/2/

注意:只要使用字体更改设置行高,每个字体略有不同,此脚本就可以正常工作,这也可能取决于操作系统。