【发布时间】:2013-06-11 17:48:26
【问题描述】:
假设我有以下 html:
<div>
<p>Vivamus sagittis lacus vel augue laoreet rutrum faucibus dolor auctor.</p>
<p>Cum sociis natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. Vivamus sagittis lacus vel augue laoreet rutrum <i>faucibus</i> dolor auctor.</p>
</div>
看到被埋葬的<i>了吗?我想获取它相对于父<div> 的文本偏移量,包括所有<p> 标签和空格,但不包括父<div>。在本例中,文本偏移量为 225-ish。
这可以用 javascript 实现吗?
编辑:好的,有一点背景。我将完整的 html 作为字符串保存在数据库中,因此我知道确切的内容。我还可以访问实际的<i> dom 元素。现在我需要将该 dom 元素与其文本偏移量相匹配。
【问题讨论】:
-
一切都可以用javascript实现
-
您可能会得到 something,但这些东西在多个浏览器中并不可靠。任何直接使用 HTML 的东西都是不一致的,因为浏览器不会在 HTML 中思考:它们将 HTML 转换为 DOM。特别是对于空格,当转换回 HTML 时,精确的输出会有所不同。
-
获取 div 对象,使用
innerHTML获取内容,使用indexOf('<i>')查找所需部分的索引(+3) -
如果有多个
<i>标签内容相同会怎样?
标签: javascript html string text offset