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

单击图像时如何获取文本区域的ID?页面上有多个按钮和笑脸(以及多个文本区域)。

4

3 回答 3

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/

于 2013-04-24T17:04:57.700 回答
1

您可以通过导航 dom 树来获得它:

function imgClicked(){
    var theElementId = $(this).parent().prev().prop("id");
}
于 2013-04-24T17:04:52.697 回答
0

如果您使用的是jQuery 1.7+,您可能希望使用以下.on()方法执行此操作:

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

img但是,如果您没有动态加载内容,那么直接绑定'没什么大不了的click()

于 2013-04-24T17:16:03.593 回答