Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/71.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何构造if…else语句以返回true_Javascript_Jquery_Html_Dom - Fatal编程技术网

Javascript 如何构造if…else语句以返回true

Javascript 如何构造if…else语句以返回true,javascript,jquery,html,dom,Javascript,Jquery,Html,Dom,完整代码 这段代码目前只返回假值,我想知道如何以纯DOM或纯jquery格式构造这段代码,以便能够返回真值 openedCardsList[0]===openedCardsList[1] 也没有返回true 当数组0和1处的卡相同时,我希望此值返回true。如何检查/匹配(FontAwesome)图标类名称 因此,在创建卡片(或生成其HTML)时,您需要将fa添加到元素的“数据”(使用jQuery.data()),如下所示: function createCardHTML() { symb

完整代码

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

openedCardsList[0]===openedCardsList[1]
也没有返回true


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

如何检查/匹配(FontAwesome)图标
名称

因此,在创建卡片(或生成其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;
}

根本没有
返回。真的不清楚你在问什么当两张卡打开并且匹配时,应该返回true,但返回false,尝试使用a.is(b)也不起作用。应该比较卡的哪些属性才能认为它们匹配?如果你查看codepen.io上的完整代码,卡片列表显示带有背景图像的完整阵列。它被传递到“i”类。你可以将
fa
添加到元素的“数据”-我指的是卡中的
i
元素。这非常有效,我可以问一下是否有一种方法可以在纯Javascript中实现这一点吗?是的。选项1:使用
Element.dataset
代替
jQuery.data()
,使用
Element.querySelector()
查找卡中的
i.fa
元素。在这里尝试:(参见vanilla JS中标记为
//的代码)。选项2:实际上与选项1相同,只是使用
Element.setAttribute()
Element.getAttribute()
而不是直接访问
Element.dataset
;看见
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;
}
var b = $('i.fa', openedCardsList[0]).data('fa');
var c = $('i.fa', openedCardsList[1]).data('fa');
var eq = ( b && c && b === c );