回复您进一步编辑:使用find
:这个问题之前
$(this).closest('tr').children().each(function(){
// Get all `img` elements that are in this cell
var $img = $(this).find("img");
});
年长的答案是明确的:
如果没有更多的情况下,它的难以 回答非常好,但基本上,使用CSS选择器的jQuery()
函数(通常别名为$()
)。所以这可能是:
var img = $("td img");
或独生子女
var img = $("td > img");
但要注意在这两种情况下,你会得到所有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);
});
});
...当然,则该表可以是空的,并且可能需要删除行等
这是一个非常模糊的问题。没有更多的信息,答案可能就像'$(“img”);' – 2012-04-27 08:30:19
你想在'td'内提取'img'?或''td'里面'img'与'src =“blah”'或..?请更具体地说:s – 2012-04-27 08:30:41
我编辑了我的问题。抱歉混淆。 – 2012-04-27 08:34:10