获取上面的元素ID

时间:2013-04-24 17:03:23

标签: jquery

<textarea name="message" id="message" class="box_1"></textarea>
<div class="buttons">
  <img src="smileys/smile.gif" title=":)" />
</div>

单击图像时如何获取textarea的id?页面上有多个.buttons和smileys(以及多个textarea)。

3 个答案:

答案 0 :(得分:4)

$('div.buttons img').click(function(){
   var id = $(this.parentNode).prev('textarea').prop('id');       
   // var id = this.parentNode.previousElementSibling.id;       
});

http://jsfiddle.net/z4DWU/1/

答案 1 :(得分:1)

你通过导航dom树得到它:

function imgClicked(){
    var theElementId = $(this).parent().prev().prop("id");
}

答案 2 :(得分:0)

如果您使用的是jQuery 1.7+,则可能需要使用.on()方法执行此操作:

$('div.buttons').on('click', 'img', function () {
    var id = $(this).parent().prev('textarea').prop('id');
    // doSomething with the id
});

如果您没有动态加载内容,那么直接绑定img的{​​{1}}并不是什么大事。