【问题标题】:jquery siblings() getting pervious sibling instead of nextjQuery兄弟姐妹()得到渗透兄弟而不是下一个
【发布时间】:2012-07-21 02:40:52
【问题描述】:

大家好,希望你们能帮帮我。

我对 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/thumbnails/SatchelTobyCole_0963.JPG”。

即,我希望警报打印表格中下一个图像的来源,但它正在打印上一个图像的来源?

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

【问题讨论】:

    标签: jquery html-table jquery-traversing


    【解决方案1】:

    .siblings 获取所有兄弟元素,.attr 获取第一个选定元素的值。尝试使用.next() 而不是.siblings(),这样您就可以得到下一个 td 的图像,而不是第一个 td 的图像。

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

    【讨论】:

      【解决方案2】:

      你必须使用 next()。您当前可以使用 parent.sibligs 以便它找到及其元素 在此处查看 JSFiddle

      http://jsfiddle.net/bMWZm/

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2012-07-23
        • 2020-05-27
        • 1970-01-01
        • 1970-01-01
        • 2014-07-12
        • 2019-05-06
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多