我有这段代码:
<table class="canToggle">
<tr>
<td>
<div class="messagepop pop">
<p class="selection">moss</p>
<p class="selection">gray</p>
<p class="close">Cancel</p>
</div>
<img src="images/gray.jpg" class="wide high image" id="x1y1" />
</td>
...
</tr>
<table>
当我点击其中一个p
时,我需要获取img
的ID,以便我可以更改img src
。我有这个JQuery:
var $selection = $(this).text();
$selection = "images/" + $selection + ".jpg";
// I need to populate the value of nextImgID for the next line
$(nextImgID).attr('src', $selection);
我无法弄清楚如何遍历这个。我在这里看了api和一些问题,但事情取决于兄弟关系。我将不胜感激任何帮助。
答案 0 :(得分:3)
您可以使用.closest()
遍历save_username_for_notifications
,然后查找图片
对于集合中的每个元素,通过测试元素本身并遍历DOM树中的祖先来获取与选择器匹配的第一个元素。
td
您也可以使用
$(this).closest('td').find('img').attr('src', $selection);
答案 1 :(得分:1)
试试这个
if($var1 != $var2){
您可以通过$(document).on("click","selection",function(){
var parent = $(this).parent(); // messagepopup div
var imgId = parent.next("img:first").attr("id");
});
答案 2 :(得分:1)
你可以试试这个:
var image = $(this).parents('td').find('img').attr('src', 'url');
答案 3 :(得分:1)
试试这个:
您可以先搜索父母&#39;&#39;然后你就可以找到图片ID。
$('p').click(function(){
var imageid =$(this).parents('td').find('img').attr('id');
//in image id you will get your image's id
})
答案 4 :(得分:0)
试试这个
/foo
$("p").click(function() {
alert($(this).parent().siblings().attr("id"));
})