直接上代码吧:var gallery = document.getElementById("faceDefaultList");
var links = gallery.getElementsByTagName("li");
for(var i = 0; i < links.length; i++){
links[i].onclick = function(){
var source = "face/" + links[i] + ".gif"
placeholder.setAttribute("src",source);
return false;
}
}
我的本意是:
通过改变placeholder的src值来达到更改图片的效果!但问题就,为什么我得到的那个src的值总是undefined呢?是不是我要转换那个for里面的参数呢?求指教!!!
var links = gallery.getElementsByTagName("li");
for(var i = 0; i < links.length; i++){
links[i].onclick = function(){
var source = "face/" + links[i] + ".gif"
placeholder.setAttribute("src",source);
return false;
}
}
我的本意是:
通过改变placeholder的src值来达到更改图片的效果!但问题就,为什么我得到的那个src的值总是undefined呢?是不是我要转换那个for里面的参数呢?求指教!!!
解决方案 »
- 关于使用jquery的jstree插件异步加载tree的解决方案
- 为什么js显示不了阿拉伯语字母,只能显示字符实体?
- js操作快速启动栏的IE快捷方式。在“目标”行目加上某个网址?如何操作呢?
- @@@@@@一个正则表达式的问题!很郁闷@@@@@@
- 如果我要在html中用到javascript里面的一个变量该怎么办,急!
- 孟子 E 章,请教你 xml 的问题,在线等! 谢谢!
- 怎么用javasceipt判断d盘上的一个文件f.text是否存在??
- 我要判断radio的值不能为空。如果为空就提示该项为必选项
- marquees 怎么在select 列表中实现滚动效果,而且是连续不间断的滚动
- 请问关于用javascript控制窗体内嵌的FRAME窗体的LOCATION。
- javascript怎么有rgba,rgb这种函数的呀
- 请问jquery的 text(textString)函数,最终会调用html 里的哪个js语句
var gallery = document.getElementById("faceDefaultList");
var links = gallery.getElementsByTagName("li");
for(var i = 0; i < links.length; i++){
links[i].onclick = (function(index){
return function(){
var source = "face/" + index + ".gif"
placeholder.setAttribute("src", source);
return false;
}
})(i);
}另外links[i]是dom对象加到字符串里你期望是什么?
上面的描述可能是我说错了,我希望得到的是这样的结果:
links[0] = 0;
links[1] = 1;
links[2] = 2;
links[3] = 3;
......
以此类推,一开始我以为通过links[i]就能获得相应的数字,但后来想想,原来我错了,因为links[i]只是获取到了数组的值,而且,我并没有定义数组的每一项的值,所以才会获得undefined;关于闭包的问题,我刚才又看了一下《JavaScript高级程度设计》这本书,里面的很多东西,自己并没有理解过来!因为自己刚刚开始学习javascript。买的第一本书便是《JavaScript高级程度设计》,后来感觉看不懂,便买了《JavaScript DOM 编程艺术》这本书来看一会;上面的的例子,是自己看书时,练习的一个小demo至于2楼提到的问题,其实我在links[i].onclick = function(){}这里一开始就已经用alert()这个方法测试过的了,现在我只要得到上面提到的links[0] = 0;......便可!!placeholder呢,也是一个变量,可能代码里面没有贴全吧:
var placeholder = document.getElementById("placeholder");
var gallery = document.getElementById("faceDefaultList");
var links = gallery.getElementsByTagName("li");
for(var i = 0; i < links.length; i++){
links[i].onclick = function(){
var source = "face/" + links[i] + ".gif"
placeholder.setAttribute("src",source);
return false;
}
}
var gallery = document.getElementById("faceDefaultList");
var links = gallery.getElementsByTagName("li");
for(var i = 0; i < links.length; i++){
links[i].index = i;
links[i].onclick = function(){
var source = "face/" + this.index + ".gif"
placeholder.setAttribute("src",source);
return false;
}
}