Javascript document.images.length返回0

Javascript document.images.length返回0,javascript,Javascript,我正在尝试将所有类名为tile的图像放入一个名为tiles的数组中。我尝试了一些方法,但它始终为我提供0长度数组/节点列表 我做错了什么 for(var i =0; i<document.images.length; i++){ var thumb = document.images[i] if(thumb.className == "tile" && thumb.parentNode.tagName == "A") tiles.push(t

我正在尝试将所有类名为tile的图像放入一个名为tiles的数组中。我尝试了一些方法,但它始终为我提供0长度数组/节点列表

我做错了什么

for(var i =0; i<document.images.length; i++){
    var thumb = document.images[i]
    if(thumb.className == "tile" && thumb.parentNode.tagName == "A")
        tiles.push(thumb);
}

for(var i=0;i您的脚本很好,我刚刚测试了它。它可能返回0,因为您将脚本添加到了文件的顶部,只需确保在最后添加:

<html>
   <body>
     <div id="board">
        <a href="#"><img src="tile.jpg" class="tile" alt="" /></a>
        <a href="#"><img src="tile.jpg" class="tile" alt="" /></a>
        <a href="#"><img src="tile.jpg" class="tile" alt="" /></a>
        <a href="#"><img src="tile.jpg" class="tile" alt="" /></a>
     </div>
   </body>
   <script>
      var tiles = [];
      for(var i =0; i<document.images.length; i++){
         var thumb = document.images[i]
         if(thumb.className == "tile" && thumb.parentNode.tagName == "A")
            tiles.push(thumb);
      }
      alert(tiles.length)
   </script>
</html>

var-tiles=[];

对于(var i=0;i您的脚本很好,我刚刚测试了它。它可能返回0,因为您将脚本添加到文件的顶部,只需确保您在最后添加:

<html>
   <body>
     <div id="board">
        <a href="#"><img src="tile.jpg" class="tile" alt="" /></a>
        <a href="#"><img src="tile.jpg" class="tile" alt="" /></a>
        <a href="#"><img src="tile.jpg" class="tile" alt="" /></a>
        <a href="#"><img src="tile.jpg" class="tile" alt="" /></a>
     </div>
   </body>
   <script>
      var tiles = [];
      for(var i =0; i<document.images.length; i++){
         var thumb = document.images[i]
         if(thumb.className == "tile" && thumb.parentNode.tagName == "A")
            tiles.push(thumb);
      }
      alert(tiles.length)
   </script>
</html>

var-tiles=[];

对于(var i=0;iis
tile
唯一的类?是的,html中唯一的类是
tile
,您需要向我们显示您的html代码。@KWhite不,他是在问,图像只有class
tile
或类似的
class=“tile class2 class3”
?@Tresdin我已经在帖子中添加了HTML代码。
tile
是唯一的类吗?是的,HTML中唯一的类是
tile
你需要向我们展示你的HTML代码。@KWhite不是他问的,图像只有class
tile
或类似
class=“tile class2 class3”的东西
?@Tresdin我已经在帖子中添加了HTML代码。
function addEvent(object, evName, fnName, cap) {
if (object.attachEvent)
    object.attachEvent("on" + evName, fnName);
else if (object.addEventListener)
    object.addEventListener(evName, fnName, cap);
}

function randomSort(arr) {

arr.sort(function () {
    return 0.5 - Math.random();
});

}

function setOpacity(object, value) {


// Apply the opacity value for IE and non-IE browsers
object.style.filter = "alpha(opacity = " + value + ")";
object.style.opacity = value/100;

}
var flipCount = 0;
var firstFlip;
var secondFlip;

addEvent(window, "load", setupTiles(),false);

function setupTiles() {
var tiles = new Array();

alert(document.getElementsByTagName('img').length);
for(var i =0; i<document.getElementsByTagName("img").length; i++){
    var thumb = document.getElementsByTagName("img");
    thumb = thumb[i];
    if(thumb.className == "tile" && thumb.parentNode.tagName == "A")
        tiles.push(thumb);
}


var tileImages = new Array(tiles.length);

for(var j = 0; i < tileImages.length/2; j++){
    tileImages[j] = new Image("tileimage"+j+".jpg");
}

for(var k = tileImages.length/2; i<tileImages.length;k++){
    tileImages[k] = new Image("tileimage"+(i-tileImages.length)+".jpg");
}

randomSort(tileImages);

for(var l =0; i<tiles.length;l++){
    tiles[l].image = tileImages[l];
    tiles[l].onclick = flipTile;
}

/*document.getElementById("showAll").onclick = function () {
 for(var i =0; i<tiles.length;i++){
 tiles[i].src = tiles[i].image.src;
 }
 }

 document.getElementById("reload").onclick = function () {
 location.reload();
 }*/

}

function flipTable(){
if(flipCount == 0){
    this.src = this.image.src;
    firstFlip = this;
    flipCount++;
}
else if(flipCount == 1){
    this.src = this.image.src;
    secondFlip = this;
    flipCount++;
    checkTiles();
}

return false;
}

function checkTiles() {
if(firstFlip.image.src != secondFlip.image.src){
    flipBack();
}
else{
    flipCount=0;
    firstFlip.opacity = 0.70;
    firstFlip.style.filter = "alpha(opacity= 70)";
    firstFlip.onclick = function () {
        return false;
    }
    secondFlip.opacity = 0.70;
    secondFlip.style.filter = "alpha(opacity= 70)";
    secondFlip.onclick = function () {
        return false;
    }

}
}

function flipBack() {
firstFlip.src = "tile.jpg";
secondFlip.src = "tile.jpg";
flipCount = 0;
}
<html>
   <body>
     <div id="board">
        <a href="#"><img src="tile.jpg" class="tile" alt="" /></a>
        <a href="#"><img src="tile.jpg" class="tile" alt="" /></a>
        <a href="#"><img src="tile.jpg" class="tile" alt="" /></a>
        <a href="#"><img src="tile.jpg" class="tile" alt="" /></a>
     </div>
   </body>
   <script>
      var tiles = [];
      for(var i =0; i<document.images.length; i++){
         var thumb = document.images[i]
         if(thumb.className == "tile" && thumb.parentNode.tagName == "A")
            tiles.push(thumb);
      }
      alert(tiles.length)
   </script>
</html>
<html>
   <body>
     <div id="board">
        <a href="#"><img src="tile.jpg" class="tile" alt="" /></a>
        <a href="#"><img src="tile.jpg" class="tile" alt="" /></a>
        <a href="#"><img src="tile.jpg" class="tile" alt="" /></a>
        <a href="#"><img src="tile.jpg" class="tile" alt="" /></a>
     </div>
   </body>
   <script src="myscript.js"></script>
</html>
   document.addEventListener("DOMContentLoaded", function(event) { 
      var tiles = [];
      for(var i =0; i<document.images.length; i++){
         var thumb = document.images[i]
         if(thumb.className == "tile" && thumb.parentNode.tagName == "A")
            tiles.push(thumb);
      }
      alert(tiles.length)
  });