1

だから私はその<div>中にテキストが入った大きなブロックを持っています。そして、単語ユーザーがダブルクリックすると要素が折り返され<span>ますそのスパン要素を削除して、スパン折り返しなしで単語を通常の場所に戻すにはどうすればよいですか?テキスト全体が開始位置に戻りますか?

編集:私の不在をお詫び申し上げます。これがダブルクリック関数のコードです。divをラップし、ユーザーがスパンをダブルクリックして、そのスパンにクラスを追加します。そのように見えます!

function onDoubleClick(){
    var selection=window.getSelection().getRangeAt(0);
    var selectedText=selection.extractContents();
    var span=document.createElement("span");
    epic.get(span).addClass('highlightedText');
    span.appendChild(selectedText);
    selection.insertNode(span);
}

ここに画像の説明を入力してください

4

1 に答える 1

2

これはあなたが望むものかもしれませんが、私は邪悪な「HTMLの正規表現」を期待しています-コメント内のリンク:P。<div>また、テキストとスパンのみが含まれているか、他の多くの(サブ)子のDom-Nodeも含まれているかどうかにも依存します。

var html = $('#myDiv').html();
var new_html = html.replace(new RegExp('<span>[uU]ser</span>','gm'),'user');
$('#myDiv').html(new_html);

質問を更新すると、RegExで発生する可能性のある衝突を絞り込むためのより正確な回答を提供できます。

于 2013-03-24T20:51:20.447 に答える