0

私は次のHTMLを持っています:

<ul class="message" 
    style="border-width: 1px 0 0 0;
           border-top-left-radius: 0;
           border-top-right-radius: 0;">
</ul>

$message を設定するこのコード:

oLink.$message = oLink.$modal.find('.message');

メッセージを追加する次の JavaScript があります。

obj.$message.html("<li>Contacting Server, please wait ...</li>");

これは機能しますが、問題は、メッセージがない場合でも、高さを指定して画面の下部に領域として表示するいくつかのプロパティで ul のスタイルが設定されていることです。メッセージを非表示にしてから表示させる方法はありますか。私は jQuery があまり得意ではありませんが、新しいメッセージを作成しているときに、ショーや非表示を連鎖させることはできますか?

4

3 に答える 3

1

ulcssのみ(および最新のブラウザー)を使用すると、:empty疑似クラスで空のスタイルを設定できます

ul:empty {
   display: none;
}

フィドルの例:http://jsbin.com/ipeciw/1/edit

ulまたは、 jQueryを使用してプログラムで空を削除/非表示にします

$('ul:empty').remove(); // or hide() if you need it later
于 2012-09-20T13:18:11.003 に答える
0

それはすべてcssに関連しています。あなたが言う高さはおそらくデフォルトのマージンまたはパディングです。

最初は隠すことができます

ul.message { display:none; }

そして、htmlを書くときは、そのように表示します。

obj.$message..show().html("<li>Contacting Server, please wait ...</li>");
于 2012-09-20T13:17:56.120 に答える
0

jQuery の show メソッドと hide メソッドがあります。とにかくメッセージが変わらない場合は、それをulに挿入してから、次のように表示/非表示にすることができます:

$('.message').show();
$('.message').hide();

詳細については、http: //api.jquery.com/show/ http://api.jquery.com/hide/を参照して ください。

于 2012-09-20T13:18:55.373 に答える