1

javascript replaceメソッドを使用して、次の文字列を検索します。

<span class="memberX"><span class="member19">text</span></span>    <---X is any number

最終的な出力は次のようになります。

<span class="member19">text</span>

基本的に、memberXのクラスを持つことができる外側のスパンを削除したいと思います。Xは任意の数です。

4

2 に答える 2

3

これがDOMにある場合は、正規表現は必要ありません。DOM自体を操作するだけです。

var spans = document.querySelectorAll('span[class^=member] > span[class^=member]');

for (var i = 0; i < spans.length; i++) {
    spans[i].parentNode.parentNode.insertBefore(spans[i], spans[i].parentNode);
    spans[i].parentNode.removeChild(spans[i].nextSibling);
}
于 2012-11-15T20:38:58.403 に答える
0
  1. 最初に、XHTML自己完結型タグを除く正規表​​現一致オープンタグを読み取ります。

  2. ドキュメントオブジェクトモデル(略してDOM)を読んでください。

  3. JSが提供するDOM関数を使用して、DOMツリーをウォークします。

  4. DOMツリー上を歩くトラバーサルアルゴリズムを記述します。

  5. span遭遇した要素ごとに、スパンでもある子が1つあるかどうかを確認します。その場合、自分のケースに合う場合は、親spanを子に置き換える必要があります。span

于 2012-11-15T20:40:13.207 に答える