1

これについてどうすればいいのかわからないので、ここに私のジレンマがあります:

内部に通常のテキストを含む about div があります。ただし、いくつかのjsスパンがその中に追加された後。しかし、既存のテキストをスパンタグでラップしたいと思います。まだスパンにないテキストにスパンをラップするにはどうすればよいですか?

ここでフィドルを作りました

<div class="about">
    This text isn't wrapped in an html tag
    <span>But this is</span>
</div>

jquery経由で通常のテキストをスパンタグにラップするにはどうすればよいですか?

よろしくお願いいたします。

4

2 に答える 2

4

jQuery を使用.contentsしてテキスト ノードを取得し、それらがチェックされたノードのテキスト ノードの子である場合はそれらをラップできます。

$(".about").contents().filter(function () {
    return this.nodeType === 3 && this.parentNode == $(".about").get(0);
}).wrap("<span>");

http://jsfiddle.net/ExplosionPIlls/PXTuD/6/

于 2013-05-06T22:07:34.153 に答える
0

これは、スパンを全体に配置することで実現します。

$("div").html("<span>" + $("div").html() + "</span>");
于 2013-05-06T22:13:33.193 に答える