Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/419.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 jQuery-检查数组中的两个元素是否具有相同的类_Javascript_Jquery_Arrays_Class - Fatal编程技术网

Javascript jQuery-检查数组中的两个元素是否具有相同的类

Javascript jQuery-检查数组中的两个元素是否具有相同的类,javascript,jquery,arrays,class,Javascript,Jquery,Arrays,Class,我正在做一个纸牌游戏,所以我需要检查两个元素(表中的数组)是否相同,我注意到唯一的方法是使用JQuery,但我对这些东西是新手,我几乎无法控制Javascript,JQuery对我来说是个地狱 我的代码如下所示 var twoace = "<img src='twoace.png' class='two'>"; var twogold = "<img src='twogold.png' class='two'>"; var onegold = "<img src='

我正在做一个纸牌游戏,所以我需要检查两个元素(表中的数组)是否相同,我注意到唯一的方法是使用JQuery,但我对这些东西是新手,我几乎无法控制Javascript,JQuery对我来说是个地狱

我的代码如下所示

var twoace = "<img src='twoace.png' class='two'>";
var twogold = "<img src='twogold.png' class='two'>";
var onegold = "<img src='onegold.png' class='one'>";
var oneace = "<img src='oneace.png' class='one'>"

// i have a lot more code (sorry for my english) but this is the essential

//initial array
tablecards = [deckcard[0], deckcard[1], deckcard[2], deckcard[3]];
document.getElementById("table1").innerHTML = tablecards[0];
document.getElementById("table2").innerHTML = tablecards[1];
document.getElementById("table3").innerHTML = tablecards[2];
document.getElementById("table4").innerHTML = tablecards[3];

// here i add a card to the table
tablecards.push(handcard[0]);

//now i have this 
tablecards = [deckcard[0], deckcard[1], deckcard[2], deckcard[3], handcard[4]];
document.getElementById("table5").innerHTML = tablecards[4];
var twoace=“”;
var twoold=“”;
var onegold=“”;
var oneace=“”
//我有更多的代码(对不起我的英语),但这是必要的
//初始数组
tablecards=[deckcard[0],deckcard[1],deckcard[2],deckcard[3];
document.getElementById(“table1”).innerHTML=tablecards[0];
document.getElementById(“table2”).innerHTML=tablecards[1];
document.getElementById(“table3”).innerHTML=tablecards[2];
document.getElementById(“table4”).innerHTML=tablecards[3];
//这里我在桌子上加了一张卡片
桌卡。推(手卡[0]);
//现在我有了这个
tablecards=[deckcard[0],deckcard[1],deckcard[2],deckcard[3],handcard[4];
document.getElementById(“table5”).innerHTML=tablecards[4];

如何检查“tablecards[4]”和“tablecards[1]”(或任何其他)是否具有相同的类?

属性
length
告诉您有多少元素使用该特定类:

var numOnes = $('.one').length;
因此,如果
numOnes
大于1,则可以假设有两个以上的元素使用该特定类。

可以这样做:

~(' '+tablecards[4].className+' ').indexOf(' '+<your class here>+' ');
~(“”+表卡[4]。类名+“”)。索引(“”+“”);
这将告诉您在该元素中是否有类


这是实现这一点的最快方法之一:没有jQuery,没有Regex,只是简单的线性搜索。

tablecards[4]。className==tablecards[1]。className
?什么是
deckcard[0]
。@BeNdErR-在游戏中,桌上有10张牌,即每张牌有10行?100行仅用于检查类是否相同?这太疯狂了,还会让代码变得“肮脏”@Tj-这些是从卡片组中取出的卡片,然后我将它们放在表中。我强烈建议为每个“卡片”(例如,
.card
)添加另一个类,然后使用
$('.card').get()
(或
[].slice.call(document.queryselectoral('.card'),0)
)创建数组。但是,除此之外,您希望在什么情况下比较这些元素的类?在
点击
DOMReady
/
加载
。?@DavidThomas用一个专门为它设计的按钮点击一下,谢谢,它工作得很好,做了一些更改,我做了我想做的,非常感谢:)。