jquery – 选择第一个兄弟姐妹

我试图在一个不能改变html标记的环境中选择第一个兄弟姐妹的内在价值 – 使用jQuery。

我有以下几点:

<tr>
    <td>3</td>
    <td>bob</td>
    <td>smith</td>
    <td>bob@example.com</td>
    <td>
        <img src="bobsmith.png" onclick="doSomething()" />
    </td>
</tr>

我试图获得第一个< td>的值具有以下内容:

function doSomething() {
    var temp = $(this).parent().parent().children().filter(':first');
    alert("you clicked person #" + temp.html());
}

我从这里得到的都是null。

我已经尝试过与.siblings()函数的各种组合,但无济于事。

有任何想法吗?

谢谢,

注意:我忘了提到摘录是从动态加载的表从ajax电话刷新。这可能与包括绑定的建议有关。

解:
我已经使用以下解决方案,灵感来自于接受的答案:

<tr>
    <td>3</td>
    <td>bob</td>
    <td>smith</td>
    <td>bob@example.com</td>
    <td>
        <img src="bobsmith.png" onclick="doSomething(this)" />
    </td>
</tr>

并为jQuery javascript:

function startStopNode(el) {
    var temp = $(el).parent().siblings(':first').html();
    alert("you clicked: " + temp);
}
$( 'td:first-child', $( this ).parents ( 'tr' ) ).html ();

这将选择图像的父TR中的第一个TD元素(:第一个子滤波器)。 parents()返回元素的所有父元素,我们过滤父元素,因此只返回TR元素。

也请尝试像这样写你的图像:

<img src="bobsmith.png" onclick="doSomething(this)" />

和你的功能如此:

function doSomething ( imgEl ) {
}

并使用imgEl而不是这个

http://stackoverflow.com/questions/2146269/select-first-sibling

本站文章除注明转载外,均为本站原创或编译
转载请明显位置注明出处:jquery – 选择第一个兄弟姐妹