如何构造if ... else语句返回true

问题描述 投票:0回答:1

完整代码https://codepen.io/3noki/pen/xjyErQ

function checkForMatch() {
  if ( $(openedCardsList[0]).is(openedCardsList[1]) ) {
  $(openedCardsList[0]).removeClass('open show').addClass('match');
  $(openedCardsList[1]).toggleClass('open show');
  $(openedCardsList[1]).toggleClass('match');
  $(openedCardsList) = [];
  }

  else {unFlip()}
}

这段代码目前只返回false值,我想知道如何以纯DOM或纯jquery格式构造它,以便能够返回一个真值。

openedCardsList[0]===openedCardsList[1]

也没有回归真实

当数组0和1的卡相同时,我希望该值返回true。

javascript jquery html dom
1个回答
1
投票

检查/匹配(FontAwesome)图标class名称怎么样?

因此,在创建卡(或生成其HTML)时,您需要将fa添加到元素的“数据”(使用jQuery.data()),如下所示:

function createCardHTML() {
  symbol = cards.children("i");
  symbol.each(function(index, item) {
    $(item).addClass(cardsList[index])
      // If the icon's class name is `fa-diamond`, `$(item).data('fa')` would be `diamond`.
      .data('fa', cardsList[index].substring(3)); // <- here's the data
  });
  return symbol;
}

然后,在checkForMatch()

var b = $('i.fa', openedCardsList[0]).data('fa');
var c = $('i.fa', openedCardsList[1]).data('fa');
var eq = ( b && c && b === c );

Demo

© www.soinside.com 2019 - 2024. All rights reserved.