1
字上加包裝在JS我需要在下面的代碼整個文件文本words.using添加跨度包裝我可以能夠使用上面的代碼生病得到下面添加包裝如何與空間
function walk(root)
{
if (root.nodeType == 3) // text node
{
doReplace(root);
return;
}
var children = root.childNodes;
for (var i = 0;i<children.length ;i++)
{
walk(children[i]);
}
}
function doReplace(text)
{
var start = counter;
counter = counter+text.nodeValue.length;
var div = document.createElement("div");
var string = text.nodeValue;
var len = string.trim();
if(len.length == 0){
return;
}
var nespan = string.replace(/\b(\w+)\b/g,function myFunction(match, contents, offset, s){
var end = start + contents.length;
var id = start+"_"+end;
start = end;
return "<span class='isparent' id='"+id+"'>"+contents+"</span>";
});
div.innerHTML = nespan;
var parent = text.parentNode;
var children = div.childNodes;
for (var i = children.length - 1 ; i >= 0 ; i--)
{
parent.insertBefore(children[i], text.nextSibling);
}
parent.removeChild(text);
}
導致
輸入:
#1好
出來放:
<span>Stackoverflow</span> <span>is</span> <span>good</span>
期待的結果:
<span>Stackoverflow </span><span>is </span><span>good</span>
你可以把它改成'\ B(\ w + \ S *) \ b'支持多一個空格 – hsd
cdm:謝謝你節省我的時間。謝謝 –
我如何處理特殊字符(__,?,',「,」,等等)? –