<section class="photos">
<table>
<tr>
<td><a href="/a"><img src="b.jpg" /></a></td>
<td><a href="/a"><img src="b.jpg" /></a></td>
<td><a href="/a"><img src="b.jpg" /></a></td>
</tr>
<tr>
<td><a href="/a"><img src="b.jpg" /></a></td>
<td><a href="/a"><img src="b.jpg" /></a></td>
</tr>
</table>
</section>
然后我试图遍历每个以返回链接href和图像src。
$(".photos td").each(function (index, value) {
console.log(value.a.attr('href'));
console.log(value.img.attr('src'));
});
上述伪破坏代码不幸不起作用。有什么想法吗?
答案 0 :(得分:3)
您无法在value
上运行jQuery方法,因为它只是一个DOM节点。首先创建一个jQuery对象(我更喜欢this
到value
参数,但在这种情况下它们是相同的):
$('.photos td').each(function(){
console.log( $(this).find('a').attr('href') );
console.log( $(this).find('img').attr('src') );
});
答案 1 :(得分:1)
$(".photos td").each(function (index, value) {
console.log($('a', value).attr('href'));
console.log($('img', value).attr('src'));
});
不要忘记该值表示dom元素(而不是jQuery元素),而attr()是一个仅适用于jQuery对象的jQuery方法。 另外,你不应该关闭你的标签吗?
答案 2 :(得分:1)
试试这个:
$(".photos td").each(function (index, value) {
console.log($(this).find('a').attr('href'));
console.log($(this).find('img').attr('src'));
});