如果语句保存在Javascript变量中

时间:2017-10-20 18:34:56

标签: jquery wordpress if-statement

我有一个JQuery片段,它被保存到一个变量名中,有助于在页面上创建通知。我正在尝试更改与html元素关联的类(如果该类已添加到页面中)。这是在WordPress插件中完成的。

下面是原版及以下版本,这是我第一次尝试。

noticeItemOuter = jQuery('<div></div>').addClass('notice-item-wrapper');

我的尝试:

 noticeItemOuter    =  if (JQuery(".notice-item-wrapper").length > 0) {
              jQuery('<div></div>').addClass('notice-item-wrapper2');
            }else{
                jQuery('<div></div>').addClass('notice-item-wrapper');        
            }

我在if else语句中添加了控制台日志,但从未看到它们弹出。

3 个答案:

答案 0 :(得分:1)

您不能分配这样的变量。你为什么不这样做?

if (jQuery(".notice-item-wrapper").length > 0) {
  noticeItemOuter = jQuery('<div></div>').addClass('notice-item-wrapper2');
} else {
  noticeItemOuter = jQuery('<div></div>').addClass('notice-item-wrapper');        
}

答案 1 :(得分:0)

jQuery(function ($) { // DOM ready and $ alias secured

    // Check if element already exists
    var noticeItemExists = $(".notice-item-wrapper").length;
    
    // New Element creation
    $("<div/>", {
      "class": noticeItemExists ? "notice-item-wrapper2" : "notice-item-wrapper",
      appendTo: "body" // or wherever you want to insert your element
    });

});

https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/Conditional_Operator

答案 2 :(得分:-1)

如果陈述不完全正常,但您可以使用以相同方式运作的三元运算符(expression)? true statement: false statement;

noticeItemOuter    =  ((jQuery(".notice-item-wrapper").length > 0)?
          jQuery('<div></div>').addClass('notice-item-wrapper2'):
          jQuery('<div></div>').addClass('notice-item-wrapper'));