定义的数组';s length在javascript中返回0
我一直在尝试制作一个小脚本来设置元素的颜色和id,但是当我尝试制作元素数组时,array.length返回0: JavaScript/jQuery:定义的数组';s length在javascript中返回0,javascript,jquery,html,css,arrays,Javascript,Jquery,Html,Css,Arrays,我一直在尝试制作一个小脚本来设置元素的颜色和id,但是当我尝试制作元素数组时,array.length返回0: JavaScript/jQuery: var maintabArr = []; var subtabArr = []; $(document).ready(function() { //replacing the navplaceholder with navbar $.get("http://link.link/navbar.html", function(data)
var maintabArr = [];
var subtabArr = [];
$(document).ready(function() {
//replacing the navplaceholder with navbar
$.get("http://link.link/navbar.html", function(data) {
$("#nav-placeholder").replaceWith(data);
});
maintabArr = document.getElementsByName("maintab");
subtabArr = document.getElementsByName("subtab");
console.log(maintabArr);
console.log(subtabArr);
console.log(maintabArr.length);
console.log(subtabArr.length);
for(var i=0;i<maintabArr.length;i++){
maintabArr[i].style = "background-color: rgb(" + maintabArr[i].bgcolor + ");";
console.log(i);
}
for(i=0;i<maintabArr.length;i++){
maintabArr[i].id = maintabArr[i].name;
console.log(i);
}
for(i=0;i<subtabArr.length;i++){
subtabArr[i].id = subtabArr[i].name;
console.log(i);
}
for(i=0;i<maintabArr.length;i++){
console.log("Name: " + maintabArr[i].name + ", Name's var type: " + typeof maintabArr[i].name + " | Bgcolor: " + maintabArr[i].bgcolor + ", Bgcolor's var type: " + typeof maintabArr[i].bgcolor);
console.log(i);
}
for(i=0;i<subtabArr.length;i++){
console.log("Name: " + subtabArr[i].name + ", Name's var type: " + typeof subtabArr[i].name + " | Bgcolor: " + subtabArr[i].bgcolor + ", Bgcolor's var type: " + typeof subtabArr[i].bgcolor);
console.log(i);
}
});
var maintabArr=[];
var subtabArr=[];
$(文档).ready(函数(){
//用导航栏替换导航占位符
$.get(”http://link.link/navbar.html,函数(数据){
$(“#导航占位符”)。替换为(数据);
});
maintabArr=document.getElementsByName(“maintab”);
subtabar=document.getElementsByName(“subtab”);
控制台日志(maintabArr);
console.log(subtabArr);
控制台日志(maintabArr.length);
控制台日志(子数据库长度);
对于(var i=0;i您的问题可能是$。get
是异步的,这意味着它下面的代码可以在回调函数之前执行。只需将您的功能移动到该函数中,它就会工作
var maintabArr = [];
var subtabArr = [];
$(document).ready(function() {
//replacing the navplaceholder with navbar
$.get("http://link.link/navbar.html", function(data) {
$("#nav-placeholder").replaceWith(data);
maintabArr = document.getElementsByName("maintab");
subtabArr = document.getElementsByName("subtab");
console.log(maintabArr);
console.log(subtabArr);
console.log(maintabArr.length);
console.log(subtabArr.length);
for(var i=0;i<maintabArr.length;i++){
maintabArr[i].style = "background-color: rgb(" + maintabArr[i].bgcolor + ");";
console.log(i);
}
for(i=0;i<maintabArr.length;i++){
maintabArr[i].id = maintabArr[i].name;
console.log(i);
}
for(i=0;i<subtabArr.length;i++){
subtabArr[i].id = subtabArr[i].name;
console.log(i);
}
for(i=0;i<maintabArr.length;i++){
console.log("Name: " + maintabArr[i].name + ", Name's var type: " + typeof maintabArr[i].name + " | Bgcolor: " + maintabArr[i].bgcolor + ", Bgcolor's var type: " + typeof maintabArr[i].bgcolor);
console.log(i);
}
for(i=0;i<subtabArr.length;i++){
console.log("Name: " + subtabArr[i].name + ", Name's var type: " + typeof subtabArr[i].name + " | Bgcolor: " + subtabArr[i].bgcolor + ", Bgcolor's var type: " + typeof subtabArr[i].bgcolor);
console.log(i);
}
});
});
var maintabArr=[];
var subtabArr=[];
$(文档).ready(函数(){
//用导航栏替换导航占位符
$.get(”http://link.link/navbar.html,函数(数据){
$(“#导航占位符”)。替换为(数据);
maintabArr=document.getElementsByName(“maintab”);
subtabar=document.getElementsByName(“subtab”);
控制台日志(maintabArr);
console.log(subtabArr);
控制台日志(maintabArr.length);
控制台日志(子数据库长度);
对于(var i=0;i您的问题可能是$。get
是异步的,这意味着它下面的代码可以在回调函数之前执行。只需将您的功能移动到该函数中,它就会工作
var maintabArr = [];
var subtabArr = [];
$(document).ready(function() {
//replacing the navplaceholder with navbar
$.get("http://link.link/navbar.html", function(data) {
$("#nav-placeholder").replaceWith(data);
maintabArr = document.getElementsByName("maintab");
subtabArr = document.getElementsByName("subtab");
console.log(maintabArr);
console.log(subtabArr);
console.log(maintabArr.length);
console.log(subtabArr.length);
for(var i=0;i<maintabArr.length;i++){
maintabArr[i].style = "background-color: rgb(" + maintabArr[i].bgcolor + ");";
console.log(i);
}
for(i=0;i<maintabArr.length;i++){
maintabArr[i].id = maintabArr[i].name;
console.log(i);
}
for(i=0;i<subtabArr.length;i++){
subtabArr[i].id = subtabArr[i].name;
console.log(i);
}
for(i=0;i<maintabArr.length;i++){
console.log("Name: " + maintabArr[i].name + ", Name's var type: " + typeof maintabArr[i].name + " | Bgcolor: " + maintabArr[i].bgcolor + ", Bgcolor's var type: " + typeof maintabArr[i].bgcolor);
console.log(i);
}
for(i=0;i<subtabArr.length;i++){
console.log("Name: " + subtabArr[i].name + ", Name's var type: " + typeof subtabArr[i].name + " | Bgcolor: " + subtabArr[i].bgcolor + ", Bgcolor's var type: " + typeof subtabArr[i].bgcolor);
console.log(i);
}
});
});
var maintabArr=[];
var subtabArr=[];
$(文档).ready(函数(){
//用导航栏替换导航占位符
$.get(”http://link.link/navbar.html,函数(数据){
$(“#导航占位符”)。替换为(数据);
maintabArr=document.getElementsByName(“maintab”);
subtabar=document.getElementsByName(“subtab”);
控制台日志(maintabArr);
console.log(subtabArr);
控制台日志(maintabArr.length);
控制台日志(子数据库长度);
对于(var i=0;iIs)您的navbar$(“#nav占位符”)
正在填充?它工作正常。在调用getElementsByName函数时,您对navbar.html的get调用可能尚未完成(函数的默认行为是异步的)。您需要将所有后续代码放入成功回调中。您的navbar$(“#nav placeholder”)
正在填充?它工作正常。在调用getElementsByName函数时,对navbar.html的get调用可能尚未完成(函数的默认行为是异步的)。您需要将所有后续代码放入成功回调中。