我一直在搜索几天,但似乎找不到在内的文本中添加标签的方法<div>
。之前
,之前和之后,应在文本中添加一个新的单独标签<br>
。
原始的HTML代码如下所示:
<div id="my_div">
John Mike Smith Taylor<br>
Test Street 123<br>
00000 FL Miami<br>
US
</div>
应用Javascript / JQuery之后,它应该看起来像这样:
<div id="my_new">
<a id="firstname">John Mike </a><a id="lastname">Smith Taylor</a><br>
<a id="street">Test Street 123</a><br>
<a id="zipcode">00000 </a><a id="state">FL </a>
<a id="city">Miami</a><br>
<a id="country">US</a>
</div>
我试过了appendChild
,my_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]+ )|([\w\s]+)<br>|([\w\s]+)/g, _format);
}
$(function() {
$('#my_div').html(formatContent($('#my_div').html()));
});
参见JsFiddle:https ://jsfiddle.net/ssvv7wrL/1/
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句