我一直试图这样做,但它没有用,我的对象有2个元素,它只返回1个元素:/
这是我的代码
var jumbo = document.getElementsByClassName("jumbotron");
var button = document.getElementById("changebg");
var tiles = {
tile1 : {
header : "header1",
desc : "desc1"
},
tile2 : {
header : "header2",
desc : "desc2"
}
};
function getObjectLength(obj){
var count = 0;
for ( var i in obj) {
if (obj.hasOwnProperty(i)) {
count++;
};
};
return count;
};
function changeBackground(){
document.getElementsByClassName("jumbotron")[0].innerHTML = getObjectLength(document.getElementsByClassName("jumbotron"));
};
答案 0 :(得分:0)
使用Object.keys(obj).length
获取对象的长度
var tiles = {
tile1 : {
header : "header1",
desc : "desc1"
},
tile2 : {
header : "header2",
desc : "desc2"
}
};
console.log(Object.keys(tiles ).length);
您的函数“getObjectLength”也可以工作并返回2
var tiles = {
tile1 : {
header : "header1",
desc : "desc1"
},
tile2 : {
header : "header2",
desc : "desc2"
}
};
function getObjectLength(obj){
var count = 0;
for ( var i in obj) {
if (obj.hasOwnProperty(i)) {
count++;
};
};
return count;
};
console.log(getObjectLength(tiles));
我猜,你得到的是1,因为只有一个元素的类名为“jumbotron”。
getObjectLength(document.getElementsByClassName("jumbotron"))
答案 1 :(得分:0)
尝试Object.keys(obj).length
方法
var tiles = {
tile1 : {
header : "header1",
desc : "desc1"
},
tile2 : {
header : "header2",
desc : "desc2"
}
}
console.log(Object.keys(tiles).length);
答案 2 :(得分:0)
document.getElementsByClassName("jumbotron")[0].innerHTML = document.getElementsByClassName("jumbotron").length;
试试这个。 你的函数正在寻找json对象的长度。