0

重複の可能性:
jQueryの空の<div>タグにコンテンツを含む<span>タグを挿入します

私は今日同じ質問を投稿しましたが、4つの回答はすべてjsFiddleで機能しているようですが、実際のサイトでは機能していません。私は別の方法で問題に対処したいので、コードの何が問題なのか理解できなかったので、誰かがここで私を助けてくれるかもしれません。

これが私が制御できない元のHTMLです:

<div class="a">
   <span class="b">4</span>
</div>

元のコードでは、スパンタグ間に値がない場合は常に、スパンライン全体が失われます。次のようなコードが残ります。

<div class="a"> </div>

値がなくてもスパンラインが表示されるように、次のような結果を実現したいと思います。

<div class="a">
   <span class="b">0</span>
</div>

divタグの間に空白があるように思われるので、trimメソッドを使用しました。私が得た4つの答えは私のものと非常に似ていましたが、私の実際のサイトでは何も機能しませんでした。それは私が理解していなかった何か他のものでしょうか?

これは私が試したことです:

<script>
    jQuery(function ($) {

        if ($.trim($('.a').text()).length==0){
            $(".a").html('<span class="b">0</span>');


        };
    });
</script>
4

2 に答える 2

0

これを試すことができます:

jQuery(function ($) {

        if ($('.a').children('span').length == 0){
            $(".a").html('<span class="b">&nbsp;</span>');
        };
});

.a子タグがあるかどうかを確認するコードからの小さなバリエーションspanであり、元のコードとより一致すると思われるため、タグに空のスペースを入力します。

また、複数ある場合は、上記のステートメントをループ内で調整して、すべての要素を反復する必要があることに注意divしてください。class=aif.each

于 2012-09-24T22:55:12.437 に答える
0

ネストされた要素がある場合、この場合に children.length を使用しないのはなぜですか

jQuery(function ($) {
        if ($('.a').children().length == 0){
            $(".a").html('<span class="b">0</span>');
        };
});

しかし、これは内部に要素がある場合にのみ機能します..divのテキストだけをチェックしたい場合、このアプローチは機能しません..

于 2012-09-24T22:56:14.507 に答える