Javascript document.images.length返回0
我正在尝试将所有类名为tile的图像放入一个名为tiles的数组中。我尝试了一些方法,但它始终为我提供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
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;iistile
唯一的类?是的,html中唯一的类是tile
,您需要向我们显示您的html代码。@KWhite不,他是在问,图像只有classtile
或类似的class=“tile class2 class3”
?@Tresdin我已经在帖子中添加了HTML代码。tile
是唯一的类吗?是的,HTML中唯一的类是tile
你需要向我们展示你的HTML代码。@KWhite不是他问的,图像只有classtile
或类似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)
});