我正在尝试使用图像制作像Match3这样的游戏,但无法进行比较。我这样做是为了固定数量的atm,只是为了使其正常工作,以后应该在foreach循环中。该函数位于“ DOMContentLoaded”侦听器内部(如果有任何区别)。 这:if statement with img.src 这是Getting img.src value (path name) 没有帮助我,我无法找到或看到解决方案。感谢您的帮助或建议!
function removeTiles() {
tiles = document.getElementsByTagName("IMG");
/*for ( var j = 0; j < tiles.length; ++j) {*/
var x = 15;
var y = x-1;
var z = x+1;
/*I tried it with tiles[x].src before, gave me the same console and alert output, but the other post suggested trying this, so I did */
var x2 = tiles[x].getAttribute('src', 2);
var y2 = tiles[y].getAttribute('src', 2);
var z2 = tiles[z].getAttribute('src', 2);
alert(x2);
alert(y2);
alert(z2);
if (x2 === y2 === z2){
tiles[z].parentNode.removeChild(tiles[z]);
tiles[y].parentNode.removeChild(tiles[y]);
tiles[x].parentNode.removeChild(tiles[x]);
} else {
console.log('whatever');
console.log(x2);
console.log(y2);
console.log(z2);
}
console.log(tiles[x]);
}
/*}*/
window.onload = removeTiles();
控制台输出为:
whatever
coffee.gif
coffee.gif
coffee.gif
<img src="coffee.gif">
答案 0 :(得分:5)
您不能像x2 === y2 === z2
那样链接它们,第一部分将评估为一个布尔值(即true
或false
),该布尔值通过===
与字符串进行比较将始终产生{ {1}}。
您将需要像false