gpt4 book ai didi

javascript - 如何在javascript中返回字符串的位置?

转载 作者:行者123 更新时间:2023-11-30 18:03:15 25 4
gpt4 key购买 nike

我正在尝试包含使用户能够突出显示文本并返回该文本的功能。我还想返回该文本在#textcontainer div 中的位置。

我的问题:如果用户突出显示下面文本中的第二个“and”,位置将等于 div 中第一个“and”的索引,而不是第二个。我如何更改它以使位置返回第二个“和”(突出显示的那个)的位置?

    <div id = 'textcontainer'>
and second third and
</div>


// beginning of highlight js
$('#highlight').click(function (e) {
e.preventDefault();

// get highlighted text
var selection = window.getSelection();
var txt = selection.toString();
console.log(txt);

fulltext = $("#textcontainer").text();
console.log(fulltext);

position = fulltext.indexOf(txt);
console.log(position);

})
// end of highlight js

最佳答案

您很幸运,因为 window.getSelection() 返回 Selection对象,它又具有 getRangeAt 方法,您可以像这样使用它:

var selection = window.getSelection();
var range = selection.getRangeAt(0);

var start = range.startOffset, end = range.endOffset;

编辑:请注意,IE 具有完全不同的选择 API。对于跨浏览器兼容性,您可能需要查看 Rangy (注意:我对图书馆没有任何经验)。

编辑 2:参见 this answer对于一些 jQuery 插件。

关于javascript - 如何在javascript中返回字符串的位置?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16399501/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com