我有3种可能应用于元素的类组合,为了我们的目的,这些类是
".a" and ".b"
有时可以应用.a
和.b
,有时只应用.a
,有时根本不应用任何类。我想编写一个if语句来捕获所有3种可能的组合,例如
if (node.hasClass("a")){
//do something
}else if(node.hasClass("a") && node.hasClass("b")){
//do something different
}else{
//some something else all together
};
但是现在这个if语句没有用,有什么建议吗?
谢谢!
** hasClass();是YUI3方法
答案 0 :(得分:0)
您的原始代码不起作用,因为如果节点具有类a
(无论它是否也具有类b
),它将进入第一个块,并且永远不会检查另一个条件。
请改为尝试:
if (node.hasClass("a")) {
if(node.hasClass("b")) {
// has a and b
} else {
// has a only
}
} else {
// does not have a
};
答案 1 :(得分:0)
if(node.hasClass("a") && node.hasClass("b"))
{
//both .a and .b
}
else if(node.hasClass("a"))
{
//only .a
}
else if(node.hasClass("b"))
{
//only .b
}
else
{
//neither
}
答案 2 :(得分:0)
你总是需要先“抓住”最严格的案件。所以将你的逻辑改为:
if (node.hasClass("a") && node.hasClass("b")){
//do something
}else if(node.hasClass("a")){
//do something different
}else{
//some something else all together
};