2015-10-15 22 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元件不存在。