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();
我尝试了以下方法:它工作正常
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();