将变量传递给getElementById()

时间:2014-07-15 02:58:24

标签: javascript json dom getelementbyid

我必须在这里忽略一些简单的事情。我不能让getElementById()对传递给它的变量采取行动。

function newforminput() {
     var jsonstring = JSON.parse(document.getElementById('jsonobj').innerHTML);
     var numfields = jsonstring.tracelog.fields.length;

     for (var i=0; i<numfields; i++){
         var field = i+jsonstring.tracelog.fields[i].name;
         if (jsonstring.tracelog.fields[i].dependantfield != "---"){
             document.getElementById(field).readOnly = true;
         }
         console.log(field);
     }
}

console.log返回我想要影响的div的正确ID,但控制台告诉我document.getElementById(field)...为空。为什么不接收变量?

我在这方面看到了很多,但似乎没有什么对我有用。

console.log(field)呈现“1SectionName” - 或其他任何需要的内容。如果元素尚未创建,那么错误document.getElementById(1SectionName)...是否为空?也就是说,如果变量被传递。

1 个答案:

答案 0 :(得分:0)

你是对的。语法错误是禁止创建元素的id,因此不存在该id的元素因此出现null错误。很抱歉由于语法错误而浪费您的时间,但您的输入确实帮助我更智能地分析我的代码。感谢您不要嘲笑看似简单的错误(正如我经常在其他地方看到的那样),并为我们的新手提供有意义的见解。再次感谢!!!