jQuery条件链接

假设我有以下jQuery代码。 它工作的很好,但是只有当var insertAfter等于true时,我才需要包含.after($('<div />')) 。 有没有一个优雅的jQuery的方式来做到这一点?

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

尝试使用三元运算符:

.after(insertAfter ? $('<div />') : '')

你可以像这样扩展jQuery库:

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

并像这样使用它:

var insertAfter = true;
$('#whatEver').afterif($('<div />'), insertAfter);

有很多例子,在这里关于如何检查变量是否定义的堆栈溢出:

  • 一个变量是否是未定义的
  • 找出是否存在变量
  • 如何确定变量是'undefined'还是'null'?
  • JavaScript检查变量是否存在(已定义/初始化)
  • 然后你可以使用break并继续控制流程。

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

    链接地址: http://www.djcxy.com/p/76367.html

    上一篇: jQuery conditional chaining

    下一篇: checking if value is null using jQuery