4
<div class="pagination">
  <a href="#">1</a>
  <a href="#">2</a>
  3
  <a href="#">4</a>
</div>

jQuery を使用して、数字の「3」を HTML 要素で囲む必要があります。HTML は動的に生成されるため、変更できません。

4

3 に答える 3

14

私はすべての浮遊テキストをラップする同様の質問をしました

$(function() {

    var test = $('.pagination')
        .contents()
        .filter(function() {
            return this.nodeType === 3 && $.trim(this.nodeValue) !== '';
        })
        .wrap('<span/>');

});​

と でちょっとした混乱がwrap()ありwrapAll()ました。ここにデモがあります

于 2012-04-04T06:30:34.120 に答える
4

これにより、すべての番号がスパンでラップされるため、構造は次のようになります。

<a><span>1</span></a>

および選択されたものは、なしでのみスパンします:

<span>2</span>


var html = $('.pagination').html();
    html = html.replace(/[0-9]/g,"<span>$&</span>");
    $('.pagination').html(html);

あなたは簡単にそれをスタイルすることができます:

.pagination a span {normal style} 
.pagination span{selected style}
于 2012-04-04T07:02:58.050 に答える
2

これは古いですが、私の意見では、これを行うためのより短く、より簡単な方法は次のとおりです。

$("div:not(a)").wrapInner("<a href='#'></a>");
于 2015-05-13T15:45:49.593 に答える