さらに編集してください:使用find
:
$(this).closest('tr').children().each(function(){
// Get all `img` elements that are in this cell
var $img = $(this).find("img");
});
質問が明確になる前の古い回答:
これ以上のコンテキストがないと、本当にうまく答えるのが難しいですが、基本的には、jQuery()
関数 (通常はエイリアス$()
) を CSS セレクターと共に使用します。つまり、次のようになります。
var img = $("td img");
または子供だけ
var img = $("td > img");
ただし、どちらの場合も、要素の子孫 (最初の例) または直接の子 (2 番目の例) であるすべての 要素を取得することに注意してください。img
td
さらに、上記のどちらの場合でも、一連の一致する要素をラップする jQuery オブジェクトを取得します。実際の基になる DOM 要素を取得するには、オブジェクトにインデックスを付けます。たとえば、これにより、ドキュメント内の要素img
の子孫である最初の要素が得られます。td
var rawImgElement = $("td img")[0];
...そして、何もない場合は、undefined.
あなたの編集を再:
...私は取り除きたい<td></td>
あなたが達成しようとしていることはまだ非常に不明です。これは、すべてのimg
要素をテーブルの外に移動し、その後に配置する例です (もちろん、の直接の子にすることはできないためimg
、要素を要素の外に移動することはできません)。td
img
tr
HTML:
<table id="myTable">
<tbody>
<tr>
<td><img src="blah1.png"></img></td>
<td><img src="blah2.png"></img></td>
<td><img src="blah3.png"></img></td>
</tr>
</tbody>
</table>
JavaScript:
$(function() {
var $myTable = $("#myTable");
$("td > img").each(function() {
var $img = $(this),
$td = $img.parent();
$img.insertAfter($myTable);
});
});
...もちろん、テーブルが空である可能性があり、行などを削除する必要がある場合があります.