在jQuery中选择下一个元素

时间:2014-06-04 14:29:32

标签: jquery

$(document).ready(function() {
  $( ".clicker" ).click(function() {
    //var fid = $( this ).parent().next().find('.plus-minus').attr('id');
    var fid = $( this ).next().attr('id');
    console.log(fid);
  });
});

HTML

<h5><?=$awardyear?> <span id="here" class="clicker hover"><img src="/_images/<?=($i==1?'minus':'plus');?>.gif" class="plus-minus" id="iconwinners<?=$awardyear?>" /></span></h5>

我试图获取img标签的ID ...无法为我的生活找出原因,为什么它返回未定义。谢谢!

3 个答案:

答案 0 :(得分:1)

你可以使用var fid = $(this).find(&#39; img&#39;)。attr(&#39; id&#39;);

答案 1 :(得分:0)

图像位于范围内,因此您无法使用next()方法。你应该使用children()代替。

答案 2 :(得分:0)

您目前有:

<h5>
    <span>
    </span>
</h5>

你的jquery在<span>,你告诉它转到下一个元素(在同一个树级别),但是没有元素。不过这样可行:

<h5>
    <span>
    </span>
    <img/>
</h5>

我认为你打算做的是

$(document).ready(function() {
  $( ".clicker" ).click(function() {
    var fid = $( "img", this ).attr('id');
    console.log(fid);
  });
});

这表示在this(当前元素.clicker)上,在其中找到img