假设这是标记:
<div id="board">
<div>{abc</div>
<div>def</div>
<div>ghi}<div>
</div>
您的预期输出是:
<div id="board">
<span>abcdefghi</span>
</div>
您可以使用 jQuery/javascript 来执行此操作,如下所示:
var textNodes = $("#board").find("div");
var text = "";
for(var i=0;i<textNodes.length;i++) {
text = text + textNodes[i].text();
$("#board").remove(textNodes[i]);
}
var spans = text.split("}");
var textToAppend = "";
for(i=0;i<spans.length - 1 ;i++)
textToAppend = textToAppend + "<span>"+spans[i].split("{")[1]+"</span>";
$("#board").append(textToAppend);
这是您正在寻找的解决方案吗?
编辑1:
如果您只需要让我们说 b 为 2 和 d 为 4 的位置?
这是代码。
var textNodes = $("#board").find("div");
var text = "";
for(var i=0;i<textNodes.length;i++) {
text = text + textNodes[i].text();
}
var codeBlocks = text.split("}");
var firstBlock = codeBlocks[0];
var getCharPosInBlock = function (character) {
if(character === "}") return firstBlock.length;
return firstBlock.indexOf(character);
}