2011-12-05 49 views
2

我需要根据点击图像改变主图像src属性。 但我只得到第一个拇指图像src,没有得到其他拇指图像src为什么这么做?根据拇指图像点击改变主图像src属性点击

$(document).ready(function(){ 
$("#simg").click(function(){ 
    alert($(this).attr('src')); 
}); 
}); 

<img src="main.jpg" /> 

<table width="100%" border="0" cellpadding="0" cellspacing="0" class="paddingTop"> 
<tr> 
<td align="left" valign="top"><img src="1.jpg" border="0" id="simg" /></td> 
<td align="left" valign="top"><img src="2.jpg" border="0" id="simg" /></td> 
<td align="left" valign="top"><img src="3.jpg" border="0" id="simg" /></td> 
<td align="left" valign="top"><img src="4.jpg" border="0" id="simg" /></td> 
</tr> 
</table> 

回答

2

你不能有相同的id多个元素。在HTML中,ID必须是唯一的。使用类,而不是:

<table width="100%" border="0" cellpadding="0" cellspacing="0" class="paddingTop"> 
    <tr> 
     <td align="left" valign="top"><img src="1.jpg" border="0" class="simg" /></td> 
     <td align="left" valign="top"><img src="2.jpg" border="0" class="simg" /></td> 
     <td align="left" valign="top"><img src="3.jpg" border="0" class="simg" /></td> 
     <td align="left" valign="top"><img src="4.jpg" border="0" class="simg" /></td> 
    </tr> 
</table> 

然后:

$(document).ready(function() { 
    $(".simg").click(function() { 
     alert($(this).attr('src')); 
    }); 
}); 

而且这里有一个live demo

+0

大达林季米特洛夫..谢谢 –

0

而不是id,你可以(应该)使用class来选择多个元素。然后使用.each方法检索所有元素。

0

首先你的html无效,只要你重用id。 $(“#simg”)或$(“。simg”)之间的区别在于#正在返回一个单个元素,但是。返回一组具有相同类的元素。