【发布时间】:2013-05-14 11:38:44
【问题描述】:
我在 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
【问题讨论】:
-
"REFERENCE ERROR,id not defined" - 那是因为 变量
id没有定义。如果您尝试显示 div 的 id,则需要通过对相关 div 的引用来执行此操作。 -
@nnnnnn,我已经宣布了不?...我正在接受
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); -
你还没有声明它。您已在
newDiv元素上设置了id属性,但尚未声明名为id的 变量。 -
我已经编辑了我的评论..我正在考虑这两行代码
-
我也是。顺便说一句,你得到一个“空白屏幕”的原因应该是那个 div 是参考错误正在停止你在该行上的脚本执行,所以你的元素实际上永远不会被附加到页面。此外,您应该从
document.getElementById(+divIdName)中的(之后删除+。
标签: javascript html innerhtml