点击下拉菜单中的p元素后获取图片ID

时间:2015-06-02 04:21:50

标签: javascript jquery

我有这段代码:

<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和一些问题,但事情取决于兄弟关系。我将不胜感激任何帮助。

5 个答案:

答案 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"); });

获取img元素

答案 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"));

})