2013-05-14 89 views
2

我正在使用Phone Gap-android.I想根據記錄的長度動態設置SWIPE VIEW。我們可以使用一個變量在JAVASCRIPT中聲明一個div嗎?

我該怎麼做?很長一段時間後,我試着執行下面的代碼。我是對還是錯?

value= VALUE_FROM_DB.split("||"); 
      for (k=0;k<value.length;k++) 
      { 
       if (value[0] == paramName1) 
       { 
         return unescape(value[k]); 
         console.log("no of swipe views "); 
        } 
        var val = k+1; 
        var ni = document.getElementById('swiper-wrapper'); 
        var newdiv = document.createElement('div'); 
        var divIdName = 'swiper-slide'+val; 
        console.log("div name: "+divIdName); 
        newdiv.setAttribute('id',divIdName); 
        newdiv.setAttribute('class','swiper-slide'); 
        var cnt1 = '<div id="container'+val+'"><span><img src="img/abc'+val+'.png" style="float:left; " /></span><div id="abc'+val+'"><span><h5>'+value[k]+'</h5></span></div></div>'; 
     ---->  console.log("div_id :"+id); 
        document.getElementById(+divIdName).innerHTML=cnt1; 
        console.log("value_from_db:: "+value[k]); 
        ni.appendChild(newdiv); 

雖然,試圖執行,該值不打印,我看到一個錯誤引用錯誤,ID沒有定義andit是黑屏,其中DIV必須被看作。

在HTML代碼中,我已經給下面

<div id="swipe_body"> 

     <div class="swiper-container swiper-threshold"> 
      <div class="swiper-wrapper"> 

      </div> 
     </div> 
    </div> 

這是可能或不?我犯了什麼錯誤嗎?

AFTER「@nnnnnn」建議,我已經改變了並實施了下面的代碼:

var cnt1 = '<div id="container'+val+'"><span><img src="img/abc_'+val+'.png" style="float:left; " /></span><div id="abcd'+val+'"><span><h5>'+value[k]+'</h5></span></div></div>'; 
       // console.log("div_id :"+id); 
        document.getElementById(divIdName).innerHTML=cnt1; 
        console.log("abcd values: "+value[k]); 
        ni.appendChild(newdiv); 

但是,我收到以下錯誤:

05-14 17:24:25.382: I/Web Console(17882): JSCallback Error: TypeError: Cannot set property 'innerHTML' of null at file:///android_asset/www/cordova-2.1.0.js:3727 
+1

_「引用錯誤,沒有定義ID」 _ - 這將是因爲_variable_'id'沒有被定義。如果你試圖顯示div的id,你需要通過引用div來引用。 – nnnnnn 2013-05-14 11:40:31

+0

@ nnnnnn,我已經宣佈它不??我正在採取'var cnt1 ='

'+value[k]+'
'; ----> console.log(「div_id:」+ id);' – user 2013-05-14 11:41:25

+0

您還沒有聲明它。你已經在'newDiv'元素上設置了一個'id' _attribute_,但是你還沒有聲明一個叫做'id'的_variable_。 – nnnnnn 2013-05-14 11:42:52

回答

1

爲了到達底部這一點,你需要檢查:

  1. 什麼divIdName「設置爲
  2. 如果「刷卡滑塊(divIdName)」在當時確實存在執行腳本

錯誤基本上說,你要設置什麼的innerHTML,這反過來又意味着你的元素試圖選擇不存在。

如果你console.log所有的變量我們可以幫助你更好。

作爲一個方面說明:你真的應該清理你的代碼並提升你的變量,這真的很難調試麪條代碼;-)

相關問題