我正在尝试在我的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 ....
所以这不起作用.....任何有用的帮助!
答案 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;")
但是谢谢你们的反馈!