jquery兄弟姐妹()得到以前的兄弟而不是下一个

时间:2012-07-20 18:32:23

标签: jquery html-table jquery-traversing

嘿,伙计们希望你能帮助我。

我对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"));

现在我想要警报说&#34; 120628SatchelTobyCole / thumbnails / SatchelTobyCole_0966.JPG&#34;

但相反,它是在说

&#34; 120628SatchelTobyCole /缩略图/ SatchelTobyCole_0963.JPG&#34;

即,我希望警报打印表格中下一张图片的来源,但它是打印出来的吗?

如果有人可以解释我做错了什么以及如何纠正它我会非常感激。感谢。

2 个答案:

答案 0 :(得分:2)

.siblings获取所有兄弟姐妹,.attr获取第一个选定元素的值。尝试使用.next()代替.siblings(),以便获得下一个td的图像,而不是第一个td的图像。

alert(checkbox.parent("td").next().children("img").attr("src"));

答案 1 :(得分:1)

你必须使用next()。您当前可以使用parent.siblings,因此它将查找及其元素 请参见JSFiddle

http://jsfiddle.net/bMWZm/