0

jqueryで奇妙な問題が発生しました。サイズ変更機能を適切に機能させるには、ボディの最後の子を削除する必要があります。最後の子は、twitter-social-plugin によって挿入された div であり、廃止されています。

サイズ変更機能で試しました

$('body:last-child').remove();

ドキュメントの構成は次のとおりです。

    <body>
        <div>here comes content and stuff</div>
        </div>that´s the div to be removed</div>
    </body>

resize-function が呼び出されると、 body タグ全体が削除され、空白のページが表示されます。リサイズ機能:

$(document).ready(function() {
                $(window).bind('resize', function() {
                    $('body:last-child').remove();
                    contentStretch();
                    function contentStretch() {
                        $('#content-stretch').css({
                            height: "0"
                        });
                        var page_height =  $('#container').height();
                        var window_height = $(window).height();
                        var difference = window_height - page_height;
                        if (difference < 0) {
                            difference = 0;
                        };
                        $('#content-stretch').css({
                            height: difference + "px"
                        });
                    };
                });
            }); 
4

3 に答える 3

3

:last-childセレクターは、その親の最後の子である要素を取得します。要素内の最後の子は探しません。body要素は 1 つしかないため、要素はその親の最後の子ですbody

div要素の直接の子である最後の要素を削除するにはbody:

$('body > div:last-child').remove();
于 2013-02-16T12:49:52.380 に答える
1

:last-childセレクターは、それが取り付けられているアイテムの修飾子です。bodyしたがって、本質的に最後の要素を削除すると言っています。

の最後の直接の子を削除するようにコードを機能させる最も簡単な変更はbody、セレクターにスペースを追加することです。

$('body :last-child').remove();

ただし、これはやや危険であり、削除する対象をもう少し具体的にすることをお勧めします。たとえば、すべてのdiv要素に などの共通のクラスを指定できますcontainer次に、 :last-of-typeセレクターを使用することもできます。これにより、DOM 構造の同じレベルに異なるタイプの他の要素がある場合でも、期待どおりのものが確実に削除されます。

$('.container:last-of-type').remove();

于 2013-02-16T12:48:42.537 に答える
0

このようにしてみてください

$('div:last').remove();
于 2013-02-16T12:47:10.933 に答える