jQuery if语句语法

时间:2016-01-14 11:43:06

标签: jquery drupal-7

我正在尝试在我的Drupal 7网站上运行jQuery函数,但是我很难让它工作。

此示例有效:

(function ($) {  

  Drupal.behaviors.theme = {

  attach: function (context, settings) {            

     $("div A").each(function(i){
       var color = $(this).css("background-color");
       if (color == "background-color:green;")
       $("div B").css("background-color", "");
       $("div B").css("background-color", "black");
     });

     }

 };})(jQuery);

但我正在尝试做一些更高级的东西。例如:我想将黑色应用于div B,但前提是div A为绿色。

所以,如果我写

{{1}}

好吧"工作" ....但是div A可以是除绿色之外的任何其他颜色,并且div B在任何情况下都会变成黑色....我正在寻找正确的方法来怀疑if statement ....

所以这不起作用.....任何有用的帮助!

3 个答案:

答案 0 :(得分:0)

  

在任何情况下,div B都会变成黑色

那是因为你在if区块之外变黑了:

if (color == "background-color:green;")
    $("div B").css("background-color", "");
$("div B").css("background-color", "black");

如果这两个语句都需要在if块中,那么你需要使用花括号:

if (color == "background-color:green;") {
    $("div B").css("background-color", "");
    $("div B").css("background-color", "black");
}

答案 1 :(得分:0)

我也试过这个......没有任何反应。

(function ($) {  

  Drupal.behaviors.theme = {

  attach: function (context, settings) {            

    $("#block-menu-block-23").each(function(i){
       var color = $(this).css("background-color");
       if (color == "background-color:green;"){
        alert('Hello jQuery');
       }
    });

 }

};})(jQuery);

#block-menu-block-23的背景颜色为:绿色;

答案 2 :(得分:0)

搞定了!

$("#block-menu-block-23").each(function(i){
   var color = $(this).css("background-color");
   if (color == 'rgb(0, 0, 255)' || color == 'blue'){
   alert('Hello jQuery');
   $("#block-block-15").css("background-color", "");
   $("#block-block-15").css("background-color", "red");
 }});

在if语句错误后,这是parentesis。 所以我做了:

(color ==' rgb(0,0,255)' || color ==' blue')

而不是:

(color!=" background-color:blue;")

但是谢谢你们的反馈!