简单的“;如果“否则”;声明问题
simple "if, else" statement issues
我很困惑为什么这没有显示"divPIC"div中的任何图片。我测试了"rate"变量,它确实显示了一个数字。基本上,如果评级在if,else语句中,这应该只显示一个星级图片。不过什么也没出现。
Javascript:
var rate = <?php echo json_encode($rate); ?>;
if (rate == 0) {
document.getElementById('divPIC').innerHTML = "<img src='images/0star.png'>";
}
else if (0 < rate && 4 > rate) {
document.getElementById('divPIC').innerHTML = "<img src='images/1star.png'>";
}
else if (3 < rate && 6 > rate) {
document.getElementById('divPIC').innerHTML = "<img src='images/2star.png'>";
}
else if (5 < rate) {
document.getElementById('divPIC').innerHTML = "<img src='images/3star.png'>";
}
HTML:
<div id="divPIC"></div>
<divPIC></div>
应将其更改为:
<div id="divPIC"></div>
因为您试图通过它的id(getElementById
)而不是通过它的节点名来访问它。
编辑
另外,不用这个:
var rate = <?php echo json_encode($rate); ?>;
你可以考虑一下:
var rate = <?php echo intval($rate); ?>;
如果$rate
不是整数,你会从json_encode
得到一些讨厌的东西。相反,intval
将始终返回一个整数。
再次编辑:刚刚注意到igasparetto向$rate
建议击败了我。谢谢
这样写可能更容易:
var r = <?php echo json_encode($rate); ?>;
if(r<1){ //show 0star img}
else if (r<4){ //show 1star img}
else if (r<6){ //show 2star img}
else{ //show 3star img}
这样你就可以处理小于零的问题;零没有理由测试你是否超过了之前的限制。
如果你不反对jquery。。。
var $divImg = $('#divImg');
// do this before the if else
//then you can append
$divImg.append('<img src="thestarimg.png"/>');
试试这个小提琴,我只是在用文字。http://jsfiddle.net/VgKaN/
相关文章:
- JavaScript + mocha:可能是在 for 循环中声明函数的闭包问题
- 在重新声明变量 (JS) 时遇到了问题
- SCRIPT5039:重新声明常量属性 - IE 9 Javascript 问题
- 缺少Javascript问题;声明之前
- 简单的“;如果“否则”;声明问题
- JavaScript 声明变量问题
- 声明javascript对象属性问题
- 这个带有php声明的javascript脚本有什么问题
- 范围声明json对象的问题
- js中变量声明的问题
- Javascript变量声明问题
- 这个简短的XMLHttpRequest声明有什么问题吗?
- Javascript声明问题
- ng-repeat声明中的数组问题
- 关于在Famo.Us中声明变量的问题
- Javascript“if"声明的问题
- JavaScript对象声明有问题
- 在javascript中声明变量和if-else语句时出现问题
- JS var 声明 - 由于变量保持相同值的函数问题而导致错误的验证
- JSON复合数组声明问题