2

我在 Phone Gap-android 工作。我想根据记录的长度动态设置一个 SWIPE VIEW。

我怎么做?很长一段时间后,我尝试实现以下代码。我是对还是错?

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);

在尝试执行时,该值未打印,并且我看到错误为 REFERENCE ERROR,未定义,它是必须查看 DIV 的空白屏幕。

在 HTML 代码中,我给出了以下内容,

<div id="swipe_body">

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

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

这可能吗?我犯了什么错误吗?

在“@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
4

1 回答 1

1

为了深入了解这一点,您需要检查:

  1. 'divIdName' 设置为什么
  2. 如果在执行脚本时“swiper-slide(divIdName)”实际存在

该错误基本上表明您正在尝试将 innerHTML 设置为空,这反过来意味着您尝试选择的元素不存在。

如果您控制台记录所有变量,我们可以更好地帮助您。

作为旁注:你应该真正清理你的代码并提升你的变量,调试意大利面条代码真的很难;-)

于 2013-05-31T14:28:05.957 回答