2

自動生成されたhtmlをクリーンアップする喜び。タグに挿入された多くの無関係なスペース:

<span>Lorem Ipsum&nbsp;&nbsp;&nbsp;</span> dolor sit...(&nbsp;はエンティティではなく、実際のスペースを表します)

jQueryは、文字列の末尾の空白を切り捨てるための$ .trim()を提供します。これをeach()ループに適用して、すべてのインラインタグからすべての空白を削除する、高速でエレガントな方法はありますか、それとも=> get html => trim => replace htmlを選択する運命にありますか?

4

2 に答える 2

2

ドキュメントを読む

$(selector).html(function(i, old){
    return $.trim(old);
});

フィドル

于 2013-03-25T15:55:56.640 に答える
2

以下のコードは、要素の子を持たないノードの周りの空白を削除します。

$('span').filter(function() {
    return $(this).children().length === 0;
}).text(function(_, old) {
    return $.trim(old);
});

要素の子のテストでは、ネストされたタグを持つ要素を誤って変更しないことを確認しますが、必要以上に多くのスペースがぶら下がっている可能性があります。

http://jsfiddle.net/alnitak/c7aT6/を参照してください

于 2013-03-25T16:00:25.687 に答える