如何在JavaScript中将一个span标签包裹在文本的一部分周围?

3

我有这样的标记:

<p>one two three four</p>

我希望使用JavaScript将其转换为以下内容:

<p>one <span>two three<span> four</p>

我有想要用span标签包裹的部分的偏移量和长度,例如在这种情况下offset = 4length = 9。如果使用jQuery可以使它更容易,那就更好了。

1个回答

5
这是否是与这个问题 用jQuery突出显示一个词 有些相似呢?
类似JQuery搜索高亮插件可能会有所帮助。
或者,如同一问题中指出的那样,编写自己的jquery函数:
类似以下未经测试的代码(可随意编辑):
jQuery.fn.addSpan = function (elName, str, offset, length)
{
    if(this.innerHTML = str)
    {
        return this.each(function ()
        {
            this.innerHTML = this.innerHTML.substring(0,offset) + "<span>" + this.innerHTML.substring(offset, offset+length) + "</span>" + this.innerHTML.substring(offset+length));
        });
    }
};

你可以这样使用它:

$("p").addSpan("one two three four", 4, 9);

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接