我无法在java脚本中使用If和else来使用数据属性来验证应该运行哪个函数,如果你可以帮助我解决这个问题,那么现在尝试解决这个问题会很好。
我目前有以下代码:
if($('.currentplayersleaguedatatofind[data-currentplayerDivisoninleague="1"]') == "1"){
buttonclicked1();
}else if($('.currentplayersleaguedatatofind[data-currentplayerDivisoninleague="2"]') == "2"){
buttonclicked2();
} else if($('.currentplayersleaguedatatofind[data-currentplayerDivisoninleague="3"]') == "3"){
buttonclicked3();
} else if($(".currentplayersleaguedatatofind").data("currentplayerDivisoninleague") == "4"){
buttonclicked4();
} else if($(".currentplayersleaguedatatofind").data("currentplayerDivisoninleague") == "5"){
buttonclicked5();
}
感谢Advnace
答案 0 :(得分:1)
这样的事可能
var league = $(".currentplayersleaguedatatofind").data("currentplayerDivisoninleague"),
actions = {
"1":buttonclicked1,
"2":buttonclicked2,
"3":buttonclicked3,
"4":buttonclicked4,
"5":buttonclicked5,
};
actions[league]();
根据buttonclickX
的内容,您可以使用单个函数接受league
作为参数并采取相应的行动。
答案 1 :(得分:0)
如果你想检查 $('。currentplayersleaguedatatofind')的 data-currentPlayerDivisioninleague。 在你的代码中
$('.currentplayersleaguedatatofind[data-currentplayerDivisoninleague="1"]') == "1")
$('.currentplayersleaguedatatofind[data-currentplayerDivisoninleague="1"]-
这给出了currentPlayers对象,并且你正在与“1”进行比较,这将永远不会成真。
要比较他们的价值,您所要做的就是
$('.currentplayersleaguedatatofind').data('currentplayerDivisoninleague'])=="1"
检查此代码段
var currentPlayers = $('.currentplayersleaguedatatofind');
var data = currentPlayers.data('currentplayerDivisoninleague']);
if (data == "1") {
buttonclicked1();
} else if (data == "2" {
buttonclicked2();
} else if (data == "3") {
buttonclicked3();
} else if (data == "4") {
buttonclicked4();
} else if (data == "5") {
buttonclicked5();
}
希望有所帮助
答案 2 :(得分:0)
您需要比较data
属性的值而不是对象本身。读取值然后进行比较。像这样:
var currentLeague = $('.currentplayersleaguedatatofind').attr('data-currentplayerDivisoninleague');
if(currentLeague === "1"){
buttonclicked1();
} else if(currentLeague === "2"){
buttonclicked2();
} else if(currentLeague === "3"){
buttonclicked3();
} else if(currentLeague === "4"){
buttonclicked4();
} else if(currentLeague === "5"){
buttonclicked5();
}