给定提取的组合文本字符串中的偏移量,如何确定包含节点和偏移量?
给定以下 HTML(仅是一个示例):
<div id="container"><span>This is <strong>SOME</strong> great example, <span style="color: #f00">Fred!</span></span></div>
可以使用 jQuery 的 text()
函数提取文本:
var text = $('container').text();
现在,确定偏移量 的最简单、最快、最优雅的方法是什么?提取的文本中的 >10
是否对应于上例中 SOME
节点内文本节点的偏移量 2
?另外,如何进行逆操作,即确定从 DOM 对象提取的文本中的偏移量
10
和偏移量 2
?
Given the following HTML (just an example):
<div id="container"><span>This is <strong>SOME</strong> great example, <span style="color: #f00">Fred!</span></span></div>
One can extract the text using e.g. jQuery's text()
function:
var text = $('container').text();
Now, what would be the simplest, fastest, most elegant way to determine that the offset 10
in the extracted text corresponds to the offset 2
of the text node inside the <strong>SOME</strong>
node in the example above? Also, how would one do the inverse, i.e. determining the offset 10
in the extracted text from the <strong>
DOM object and the offset 2
?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
这是一个开始。您可以使用 TreeWalker 获得一个非常优雅的解决方案。不过,您需要为 IE 实现 TreeWalker(假设您需要 IE 支持)。
演示
现在进行相反的操作...
Here is a start. You can use TreeWalker to get a pretty elegant solution. You need to implement
TreeWalker
for IE (assuming you need IE support) though.demo
Now for the reverse...