0
我有一些div與文本和跨度(包括文本)。如果我知道突出位置,如何將文本突出顯示爲div? 我的意思是:基於位置的文本高亮
<div>Lorem<span> ipsum</span> dolor amet</div>
的位置2和14:
<div>Lo<b>rem<span> ipsum</span> dol</b>or amet</div>
我可以做這個簡單的?用小而乾淨的代碼。 謝謝
我有一些div與文本和跨度(包括文本)。如果我知道突出位置,如何將文本突出顯示爲div? 我的意思是:基於位置的文本高亮
<div>Lorem<span> ipsum</span> dolor amet</div>
的位置2和14:
<div>Lo<b>rem<span> ipsum</span> dol</b>or amet</div>
我可以做這個簡單的?用小而乾淨的代碼。 謝謝
HTML
<div id='mydiv'>Lorem<span> ipsum</span> dolor amet</div>
JS/jQuery的
var elm = $('#mydiv');
highlite(elm, 2, 28); //specify the start and end position
// if you know the word you can find the index of word using indexOf/lastIndexOf
function highlite(element, startpos, endpos) {
var rgxp = elm.html().substr(startpos,endpos)
var repl = '<span class="myClass">' + rgxp + '</span>';
elm.html(elm.html().replace(rgxp, repl));
}
演示
http://stackoverflow.com/a/16100733/96100 –
我知道範圍。我在很短的時間內爲大數字範圍尋求非常好的性能解決方案。範圍是在每次迭代中重寫DOM。我想優化它。 –