在JavaScript中使用带有数据属性的If和else

时间:2016-12-24 22:37:01

标签: javascript

我无法在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

3 个答案:

答案 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();
}