0

「アンラップ」のさまざまなバージョンを試しましたが、アンラップは機能ではありません。ここで b タグを捨てるにはどうすればよいですか?

<div id="top_left">
    <font size="3">
       <b>test</b>
    </font>
</div>

私はもう試した

jQuery("#top_left b").unwrap();
4

4 に答える 4

1

問題は、「テスト」が要素ではなくテキスト ノードであることです。

実際の HTML がもっと複​​雑になる可能性があると仮定すると、つまり、多くのb要素があり、一部のテキストがb要素に含まれていない可能性がある場合、次のようにする必要があります。

$('#top_left b').replaceWith(function(){
  return $('<span>', {text:$(this).text()});
});

デモンストレーション(「Run with JS」をクリック)

しかし、通常、この種の状況に対処するには、spanを与えるクラスを持つことから始めて、font-weight:boldそのクラスを変更するだけです。bifont、および同様の要素は、今日ではめったに役に立たず、すべてのスタイル変更をより重くします。

于 2013-04-12T18:14:11.493 に答える
1

なしでこれを行う非常に簡単な方法.unwrap()は次のとおりです。

$('#top_left font').html($('#top_left font').text());

jsFiddle の例

そして、一部のコメンターが指摘したように<font>、かなり前に廃止されました。

于 2013-04-12T18:15:34.333 に答える
0
var b = document.getElement... // Get your b tag
b.outerHTML = b.innerHTML;

これは、jQuery を使用しなくても機能する可能性があります。私が間違っている場合は修正してください。

于 2013-04-12T18:14:03.100 に答える