【发布时间】:2016-08-28 09:56:18
【问题描述】:
假设我有一个函数可以返回这个 HTML 字符串中单词“world”的起始索引 (4):
<div>The world is round</div>
这个函数(不在我的控制范围内)使用 jQuery 的.text() 方法工作。但是,我需要使用 jQuery 的 .html() 方法来完成我正在做的事情。
使用 jQuery 的 .html() 方法时,使用现有索引会给我跨度中的字母“n”。我需要更改此索引以考虑可能在 div 中的其他 HTML 标记和嵌套的 HTML 标记,例如
<div><p><span class="highlight">The</span></p> world is round</div>
因此,此代码 sn-p 将为 'world' 的第一个字母返回一个新的索引 42。我该怎么做呢?非常感谢!
更新:代码 sn-p 将返回包含标签的索引。我不想剥离标签。谢谢!
【问题讨论】:
-
如果你有,函数应该返回什么?
world
世界是圆的 -
该函数应返回索引,包括 html 标记。所以,去掉标签,索引是4。当包括标签时,它是42。
-
为什么不只是
.html().indexOf("world")? -
因为同一个词可能有多个实例,并且仅适用于第一个实例。
标签: javascript jquery html