これがマークアップであると仮定します。
<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);
}