我有几个行的表:jQuery的遍历
<tr class='data'>
<td class='img'><img class='thumbnail' src='ProductImages/img_1894_72.jpg'/></td>
<td class='bc_img'><img class='thumbnail' src='ProductImages/img_1893_72.jpg'/></td>
</tr>
<tr class='data'>
<td class='img'><img class='thumbnail' src='ProductImages/img_1318_72.jpg'/></td>
<td class='bc_img'><img class='thumbnail' src='ProductImages/img_1646_72.jpg'/></td>
</tr>
在细胞中的图像是缩略图图像(在名称中72指定72px宽度)。我想写一些jQuery,让我点击任意一行中的第二个td,检测我选择的两行中的哪一行,并用相同图像的较大版本替换该行中的src图像,即将72 src名称与300.
我的问题是从单击的td到该td内的原始img节点。我一直在玩:
$("td.bc_img").click(function() {
console.log("1. this is " , this);
imgNode = $(this).find('img').get();
console.log("2. imgNode is " , imgNode);
console.log("3. imgNode.src is " , imgNode.src);
var thumbSrc = ?; // not sure how to get this
var bigImgSrc = thumbSrc.replace(/_72\.jpg/, "_900.jpg");
});
和产生的控制台输出:
但是,这似乎并没有被我所需要的。我想我需要得到的东西看起来像:
<img class="thumbnail" src="ProductImages/img_1893_72.jpg">
之前,我可以添加.src到它并修改src。
感谢您的任何帮助。
这是什么'$(this +'> img')'。我无法想象那是有效的。 – jfriend00 2013-03-27 03:56:39
@ jfriend00对不起,只是访问$(this)的直接孩子....改变了代码以反映这一点。请让我知道如果这不适用这里 – theshadowmonkey 2013-03-27 03:58:55
你也不能'$(imgNode +'> img')'。选择器是字符串,它们中没有jQuery对象或DOM节点。这不起作用。 – jfriend00 2013-03-27 04:03:20