Javascript:在&nbsp;之前的内容中添加元素 及之后<br>

迈克-S122

我一直在搜索几天,但似乎找不到在内的文本中添加标签的方法<div>之前&nbsp;,之前和之后,应在文本中添加一个新的单独标签<br>

原始的HTML代码如下所示:

<div id="my_div">
John Mike&nbsp;Smith Taylor<br>
Test Street 123<br>
00000&nbsp;FL&nbsp;Miami<br>
US
</div>

应用Javascript / JQuery之后,它应该看起来像这样:

<div id="my_new">
<a id="firstname">John Mike&nbsp;</a><a id="lastname">Smith Taylor</a><br> 
<a id="street">Test Street 123</a><br>
<a id="zipcode">00000&nbsp;</a><a id="state">FL&nbsp;</a>
<a id="city">Miami</a><br>
<a id="country">US</a>
</div>

我试过了appendChildmy_div但是它会在文本后打开和关闭标签,而不是将标签添加到文本中div

托尔兹

您可以使用正则表达式String.replace()做的工作。

function formatContent(content) {

    var ids = [
        "firstname",
        "lastname",
        "street",
        "zipcode",
        "state",
        "city",
        "country"
    ];

    var i = 0;
    function _format (match, nbsp, br) {
        return "<a id=\"" + ids[i++] + "\">" + (br || match) + "</a>" + (br && "<br>" || "");
    }

    return content.replace(/([\w\s]+&nbsp;)|([\w\s]+)<br>|([\w\s]+)/g, _format);
}

$(function() {
     $('#my_div').html(formatContent($('#my_div').html()));
});

参见JsFiddle:https ://jsfiddle.net/ssvv7wrL/1/

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章