2013-05-07 31 views
0

我想使用jQuery访问多个元素ID,所以我可以动态地改变这些元素的内容。但是,(我相信)我无法使用第n个子选择器,因为这些元素ID并不全都共享同一父元素,因为它们使用表格布局。如何通过jQuery访问(实际上)元素ID的数组?即#photograph_1#photograph_2

例如,

<table> 
    <tr> 
     <td> <div class="bio"><img id="photograph_1" src="test.jpg"></div> </td> 
     <td> <div class="bio"><img id="photograph_2" src="test.jpg"></div> </td>      
    </tr> 
    <tr> 
     <td> <div class="bio"><img id="photograph_3" src="test.jpg"></div> </td> 
     <td> <div class="bio"><img id="photograph_4" src="test.jpg"></div> </td> 
    </tr> 
</table> 

我以为会有它的ID来访问每个元素的方式,如$('#photograph_1')但是当我尝试这样做动态这是行不通的。 for(i=0; i++; i<4) { $('#photograph_'+(i+1)).attr('src',image[i]); }(image []是一组图像源)。

正在尝试做什么?如果是这样,该怎么办?从this reference,我不清楚该怎么做。

回答

1

你的for循环会正常工作,你忘记了选择器中的#。尝试

for(i=1; i <= 4; i++) { $('#photograph_'+i).attr('src',image[i]); } 
+0

不好意思啊,我miscopied我的一些代码,在条件......我包括我的工作了''#码。道歉。 – Eilidh 2013-05-07 13:24:37

+0

应该仍然有效......该代码片段何时运行?控制台中有任何错误? – tymeJV 2013-05-07 13:26:45

+0

它似乎没有工作......没有错误。我只是在'$(document).ready(function(){//在这里运行});' – Eilidh 2013-05-07 13:29:04

2

解决您的发言

应该

for (var i = 0;i < 4; i++) 

for(i=0; i++; i<4) 

MDN Docs

for([initialization]; [条件]; [最终表达式])

声明

你在利用我++作为

+1

我需要醒来...好的时间,咖啡时间。 – tymeJV 2013-05-07 13:31:33

+1

@tymeJV哈哈,是啊..还真早。我没有看到它,直到我试图做一个jsfiddle,并想知道为什么它不起作用 – 2013-05-07 13:32:34

+0

哈哈dangit;)总是这样,呃?我同意,咖啡时间!干杯! – Eilidh 2013-05-07 13:33:12