2015-06-14 67 views
-1

如何启用/禁用这3个变量中的每一个或全部,以便我可以在所有页面上使用相同的脚本,但是决定是否需要1,2或3个varibles设置为true或false。如何将变量变为真或假陈述

https://jsfiddle.net/zqu3eqfm/364/

var donotcountP = ':has(.warning):contains(P)'; 
var donotcountS = ':has(.warning):contains(S)'; 
var donotcountO = ':has(.warning):contains(O)'; 

$('.two_column_layout').find("td.player:not("+donotcountP+"):not("+donotcountS+"):not("+donotcountO+")").css('background', 'red'); 
+0

你想做什么做? –

+0

我想能够设置var donotCountP = true或false; ,并且启用/禁用脚本以使用:has(.warning):contains(P) – MShack

+0

尝试使用length属性,如果length> 0?true:false; –

回答

2

,您可以尝试这样(未测试的代码 - 和更好的代码质量,您可能要提取的另一种方法为,如果-循环):

var donotcountP = true; 
var donotcountS = false; 
var donotcountO = true; 

var getPlayerQuery = function() { 
    var result = "td.player"; 
    if(donotcountP) { 
     result = result + ":not(':has(.warning):contains(P)')"; 
    } 
    if(donotcountS) { 
     result = result + ":not(':has(.warning):contains(S)')"; 
    } 
    if(donotcountO) { 
     result = result + ":not(':has(.warning):contains(O)')"; 
    } 
    return result; 
} 


$('.two_column_layout').find(getPlayerQuery()).css('background', 'red'); 
+0

好吧,它的工作,如果我把var getPlayerQuery函数 – MShack

+0

上面太好了,谢谢你的说明,编辑了awnser –