Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/templates/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
定义的数组';s length在javascript中返回0_Javascript_Jquery_Html_Css_Arrays - Fatal编程技术网

定义的数组';s length在javascript中返回0

定义的数组';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)

我一直在尝试制作一个小脚本来设置元素的颜色和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) {
    $("#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调用可能尚未完成(函数的默认行为是异步的)。您需要将所有后续代码放入成功回调中。