6

次の jQuery コードがあるとします。それはうまく機能しますが、trueの.after($('<div />'))場合のみを含める必要があります。var insertAfterこれを行うエレガントなjQueryの方法はありますか?

$('#whatEver')
    .parent()
    .show()
    .width(123)
    .addClass('bebo')
    .before($('<div />'))
    .after($('<div />'))
    .parent()
    .addClass('bla');
4

4 に答える 4

7

三項演算子を使用してこれを試してください。

.after(insertAfter ? $('<div />') : '')
于 2012-12-14T14:20:41.973 に答える
1

次のように jQuery ライブラリを拡張できます。

$(function () {
    $.fn.afterif = function (param, condition) {
        if (condition) {
            $(this).after(param);
        }
        return this;
    }
}(jQuery));

そして、次のように使用します。

var insertAfter = true;
$('#whatEver').afterif($('<div />'), insertAfter);
于 2012-12-14T14:28:59.057 に答える
0

変数が定義されているかどうかを確認する方法に関するスタック オーバーフローに関する多数の例があります。

その後、break and continue を使用してフローを制御できます。

http://www.w3schools.com/js/js_break.asp

于 2012-12-14T14:26:06.757 に答える