Mik*_*ike 22 html jquery dom siblings jquery-1.3.2
我试图在我无法改变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>
Run Code Online (Sandbox Code Playgroud)
我试图通过以下方式获得第一个的值<td>:
function doSomething() {
var temp = $(this).parent().parent().children().filter(':first');
alert("you clicked person #" + temp.html());
}
Run Code Online (Sandbox Code Playgroud)
我从中得到的只是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>
Run Code Online (Sandbox Code Playgroud)
并为jQuery javascript:
function startStopNode(el) {
var temp = $(el).parent().siblings(':first').html();
alert("you clicked: " + temp);
}
Run Code Online (Sandbox Code Playgroud)
Jan*_*čič 17
$( 'td:first-child', $( this ).parents ( 'tr' ) ).html ();
Run Code Online (Sandbox Code Playgroud)
这将选择图像的父TR中的第一个TD元素(:第一子滤波器).parents()返回元素的所有父元素,并且我们过滤父元素,以便只返回TR元素.
也尝试这样写你的图像:
<img src="bobsmith.png" onclick="doSomething(this)" />
Run Code Online (Sandbox Code Playgroud)
和你的功能如下:
function doSomething ( imgEl ) {
}
Run Code Online (Sandbox Code Playgroud)
并使用imgEl而不是this