js控制重复id下,只能取得第一个值,希望是点击那个值获取那个值

本来对js没有做个系统的学习,都是在工作中积累的,大部分都能解决,只是没有太注意细节,今天就遇到了这个,本来想着很简单的,分分钟就能解决,后来用了半个小时,还是查资料,才想起来之前有过这种写法。现在总结一下

    本来模板文件,使用el表达式循环获取一组img,所以id是重复的,添加了onclick事件,获取图片的src值,在另一个div中显示其大图。

写完之后总是获取第一个值的src,(使用chrome调试工具显示图片的src是不一样的,为什么总是获取第一个值呢)调试了一会还是没有解决,上网搜索一下,恍然大悟,在onclick事件中传入this参数,这样点击那个就获取那个的值。代码简单如下:

<div id="preview">
                <div class="jqzoom" style="position:relative;">
                    <a class="cloud-zoom" id="zoom1" rel="lensOpacity:1,adjustX:10" href="javascript:void(0);" style="position: relative; display: block;">
                        <img id="bigimg" src="@bigimg" alt="@name">
                    </a>
                </div>


                <div id="spec-list">
                    <ul class="lh">
                    <{>
                     <li><a href="javascript:void(0);"  class="cloud-zoom-gallery" rel=""><img id="thumimg" src="@smallimg" width="50" height="50" onclick="showimg(this)"></a></li>
                    <}>
                    </ul>
                </div>

js代码如下:

function showimg(obj){
	
	var src=$(obj).attr("src");//获取到小图的地址
	var bigsrc= src.replace("thumb","big");//获取大图地址
	$("#bigimg").attr("src", bigsrc);
}


猜你喜欢

转载自blog.csdn.net/jaryle/article/details/80983234