ID解析然后使用选择器
问题描述:
所以我有这个有趣的小问题,我想解析图像的ID。没有太复杂......但奇怪的是,我的代码似乎不能正常工作。这很奇怪。有没有人可以解释这一点?我对自己无法看到错误感到失望。ID解析然后使用选择器
下面是无法工作的相关代码片段:
//Toggling images using img-index variable.
img-index = 0;
img-src[0] = $("#ppsfb").attr("id");
img-src[1] = $("#gty").attr("id");
$("#cycle").click(function(){
//Since img-index is just a counter.
if (img-index < 2){
img-index = img-index + 1;
} else {img-index = 0;}
$(img-src[img-index]).fadeIn(1000);
});
答
img-index
不是在JavaScript中有效的变量名,你可能想使用img_index
或imgIndex
。另外,对来自ID选择器的东西调用attr('id')
毫无意义,$("#ppsfb").attr("id")
是'ppsfb'
或什么都不是。你可能更适合在img_src
中存储整个jQuery对象,即使在解决命名问题后,你的$(img-src[img-index])
也不会做你想做的事情。此外,您可能想要在显示新图像之前隐藏或淡出当前图像。
img_index = 0;
img_src[0] = $('#ppsfb');
img_src[1] = $('#gty');
$("#cycle").click(function(){
img_src[img_index].hide() // Or .fadeOut or ...
if(img_index < 2)
img_index = img_index + 1;
else
img_index = 0;
img_src[img_index].fadeIn(1000);
});
想必你的定位,堆垛等已经整理出来。
+0
笑,我觉得这么愚蠢。并不是我没有经历过。我只是混淆了HTML和Javascript中的有效名称类型。我总是用Javascript做出不好的假设(因为它是如此多才多艺)。 – 2011-12-25 03:59:21
无效变量的名称,应该是'[A-ZA-Z _ $] [0-9A-ZA-Z _ $] *' – 2011-12-25 03:56:21