2

基本的な jQuery プラグインのチュートリアルを行っています。私のコードが私の高さを変更していない理由を理解しようとしている<p></p>.

この演習では、渡された要素の高さを を使用せずに設定するプラグインを作成するように指示されています.height()

以下のミニ プラグインは高さを変更しませんが、プロパティを単純に反転すると、完全heightに機能します。.css()margin

私は何が欠けていますか?

<body>
    <p>Hello</p>
    <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script>
    <script>
        (function($, window, document, undefined) {
            $.fn.setHeight = function(hgt) {
                return this.each(function() {
                    $(this).css('height', hgt);
                });
            };
        })(jQuery, window, document);
    </script>
    <script>
        $("p").setHeight(200)
    </script>
</body>
4

1 に答える 1

1

ここで行うことは 2 つあります。

まず、他の場所で変更された場合に備えて、タグのdisplayプロパティを明示的にまたはに設定します。pdisplay:inline-blockdisplay:block

次に、これはより重要な部分hgtです。プラグインに渡す高さの値 を、単位 ( pxptemなど) が付加された文字列に変更します。

ご不明な点や問題がございましたら、お気軽にお問い合わせください。:)


アップデート

プラグインを単純化することから始めましょう。これを試して、結果を教えてください:

(function($, window, document, undefined) {
    $.fn.setHeight = function(hgt) {
        $(this).css('height', hgt);
    };
})(jQuery, window, document);

ここに更新されたfiddleがあります。

于 2013-04-10T23:06:43.213 に答える