如何通过jQuery访问(实际上)元素id的“数组”?即#photograph_1#photograph_2

时间:2013-05-07 13:20:59

标签: jquery jquery-selectors

我想使用jQuery访问几个元素id,所以我可以动态地改变这些元素的内容。但是,(我相信)我无法使用nth-child选择器,因为这些元素id并不都共享同一个父级,因为它们使用表格布局。

例如,

<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开始,我不清楚该怎么做。

2 个答案:

答案 0 :(得分:2)

修正你的陈述

应该是

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

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

MDN Docs

  

for([initialization]; [condition]; [final-expression])

     

语句

你使用i ++作为条件

答案 1 :(得分:1)

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

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