我有幾個行的表: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