0

我想使用 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[] 是一个图像源数组)。

我正在尝试做的事情可能吗?如果是这样,怎么办?从这个参考,我不清楚该怎么做。

4

2 回答 2

2

修复你的 for 语句

它应该是

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

不是

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

MDN 文档

for ([初始化]; [条件]; [最终表达式])

陈述

您使用 i++ 作为条件

于 2013-05-07T13:29:23.417 回答
1

Your for loop will work fine, you're forgetting the # in your selector. Try

for(i=1; i <= 4; i++) { $('#photograph_'+i).attr('src',image[i]); }
于 2013-05-07T13:23:40.303 回答