0

不要なスペースを含む、または空の DOM 内のすべての要素を削除したい (私は古いバックエンド システムを使用していて、乱雑な HTML が生成され、これらの要素がデザインに不要なスペースを追加することがあります)。フィルター関数を使用すると、特定のケースをテストできますが、何らかの理由で空の要素では機能しないように見えるため、要素の長さが < 0 であるかどうかをテストしてから削除しようとしました。なぜこれが機能しないのですか?フィルター機能を使用してそれを行う方法はありますか? 私はもう試した

    ("&lt;br&gt;", "", "&nbsp;");

しかし、うまくいかないようです。

stripEmpties();

function stripEmpties() {
    var domChildren = $("*").children();
    if (domChildren.length <= 0) {
        $(this).remove();
    } else {
        domChildren.filter(function () {
            return $.trim(this.innerHTML) === ("&lt;br&gt;", "&nbsp;");
        }).remove();
    }
}

実際に遊んでみると、最後の一致のみがフィルターで使用されていることがわかりました。そのため、思いついたこのリスト形式を使用できないようです。別の質問は、フィルター関数で複数のケースをチェックしながら同様の機能を取得する方法があると思いますか?

4

1 に答える 1