大家好,希望你们能帮助我。
我对 jquery 比较陌生,在遍历表时遇到一些问题。
基本上我有这个
<tr>
<td>
<img src="120628SatchelTobyCole/thumbnails/SatchelTobyCole_0963.JPG" rel="#mies1" border="0" alt="SatchelTobyCole_0963.JPG">
<br />SatchelTobyCole_0963.JPG <input type="checkbox" name="SatchelTobyCole_0963.JPG" value="SatchelTobyCole_0963.JPG">
</td>
<td>
<img src="120628SatchelTobyCole/thumbnails/SatchelTobyCole_0963c.JPG" border="0" alt="SatchelTobyCole_0963c.JPG">
<br />SatchelTobyCole_0963c.JPG <input type="checkbox" name="SatchelTobyCole_0963c.JPG" value="SatchelTobyCole_0963c.JPG">
</td>
<td>
<img src="120628SatchelTobyCole/thumbnails/SatchelTobyCole_0966.JPG" border="0" alt="SatchelTobyCole_0966.JPG">
<br />SatchelTobyCole_0966.JPG <input type="checkbox" name="SatchelTobyCole_0966.JPG" value="SatchelTobyCole_0966.JPG">
</td>
<td>
<img src="120628SatchelTobyCole/thumbnails/SatchelTobyCole_0966c.JPG" border="0" alt="SatchelTobyCole_0966c.JPG">
<br />SatchelTobyCole_0966c.JPG <input type="checkbox" name="SatchelTobyCole_0966c.JPG" value="SatchelTobyCole_0966c.JPG">
</td>
</tr>
现在我正在粘贴一个更大函数的部分代码。基本上我粘贴的代码部分是对实际情况的一点修改来解释问题
src="SatchelTobyCole_0963c.JPG";
var checkbox=$("#getPix input:checkbox[name='"+src+"']");
alert(checkbox.parent("td").siblings("td").children("img").attr("src"));
现在我希望警报显示“120628SatchelTobyCole/thumbnails/SatchelTobyCole_0966.JPG”
但是,相反,它是说
“120628SatchelTobyCole/缩略图/SatchelTobyCole_0963.JPG”。
即,我希望警报打印表中下一个图像的源,但它正在打印上一个图像的源?
如果有人能解释我做错了什么以及如何纠正它,我将非常感激。谢谢。
最佳答案
.siblings
获取所有同级元素,.attr
获取第一个选定元素的值。尝试使用 .next()
而不是 .siblings()
,以便获得下一个 td 的图像,而不是第一个 td 的图像。
alert(checkbox.parent("td").next().children("img").attr("src"));
关于jquerysiblings() 获取 previous sibling 而不是下一个,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11585023/