javascript getElementById 函数无效

javascript getElementById function not working

我尝试了以下方法:它工作正常

function saveTitle(index,id){
   arrtitle[1] = document.getElementById("title_1").value;
   arrtitle[2] = document.getElementById("title_2").value;
   arrtitle[3] = document.getElementById("title_3").value;
}

但是当我尝试以下操作时:

function saveTitle(index,id){
   for(i=1;i<=count;i++)
   arrtitle[i] = document.getElementById("title_"+i).value;
}

它给我一个错误:Uncaught TypeError: Cannot read 属性 'value' of null

请给我一些建议。谢谢...

根据您发布的内容,如果那是您的实际代码,那么唯一的可能性似乎是 count 高于存在的最大元素(或者存在漏洞)。例如,count可能是4,没有id为title_4的元素。

javascript 调试器可以帮助您轻松找到它。

我还建议在 for 循环主体周围使用大括号,这将显着提高可读性。

您可以使用 querySelectorAll 获取包含 "title_" 字符串的所有元素。请参阅下面的代码。

function getTitles() {
  var arrtitle = [];
  var elements = document.querySelectorAll("*[id*='title_']");

  for (i = 0; i < elements.length; i++) {
    var titleId = elements[i].id.replace("title_", "");
    arrtitle[titleId] = elements[i].value;
  }
  return arrtitle;
}
getTitles();