2015-10-15 54 views
0

来获得属性“选项”我有一些JavaScript代码在这里:无法在javascript

function setOptDcsn(objID, objSrc){ 
     var optObj = document.getElementById(objSrc); 
     var newCbo = document.getElementById(objID); 
     var i; 
     var cntOpt=1; 
     for (i=0; i<optObj.options.length; i++) { 
      newCbo[cntOpt] = new Option(optObj[i].innerHTML,optObj[i].value); 
      cntOpt++; 
     } 
    } 

但是,当我调用该函数,它说错误:无法获取的未定义或为空引用属性“选项” 。

+0

分享你的html,以及你是如何调用该方法的 –

+0

你是如何调用该函数的?确保在调用它之前已经加载了DOM(使用'window.onload') –

+0

代替'optObj [i] .innerHTML',你应该使用'optObj [i] .text'作为选项元素不包含标记。他们的内容保存在*文本*属性中。如果您正在复制选项,请考虑使用[* cloneNode *](http://www.w3.org/TR/DOM-Level-3-Core/core.html#ID-3A0ED0A4):'newCbo [cntOpt] = optObj而不是[i] .cloneNode(true)'。 – RobG

回答

0

Error: Unable to get property 'options' of undefined or null reference.

这意味着optObj为null,并且暗示document.getElementById(objSrc);为空,因此,并通过ID objSrc元件不存在。