如何使用jQuery获取textarea父级

时间:2011-12-08 11:18:22

标签: jquery textarea parent

我遇到这种情况:

<div class='postit_popup' id='xxx'>
   <div style='margin-left:20px;margin-top:20px;text-align:justify;'>
      <textarea class'txtNota'>some text</textarea>
   </div>
   <div class='clear'></div>
   <div style='margin-left:20px;' align='left'>
      <img class='okNota' src='img/ico/task-completed.png' height='20' width='20'>&nbsp;
      <img class='cancewlNota' src='img/ico/button_cancel.png' height='20' width='20'>
   </div>
</div>

当点击“okNota”类的图片时,我需要在textarea中获取内容。

我是这样做的:

$(".okNota").click( function() {

   var obj = $(this).parent().parent();

   alert(obj.children(0).children(0).val());
});

但我需要知道是否有另一种方法可以获得它。

非常感谢。

4 个答案:

答案 0 :(得分:4)

尝试:

$(this).parents(".postit_popup").find("textarea").val();

或者如果.postit_popup中有多个textarea,请使用:

$(this).parents(".postit_popup").find(".txtNota").val();

这样做是从.okNota遍历DOM直到找到.postit_popup,然后它返回到DOM以找到textarea.txtNota的元素} class。

答案 1 :(得分:0)

这有用吗:http://jsfiddle.net/vgtQR/

编辑(对于JohnP)

HTML

<div class='postit_popup' id='xxx'>
   <div style='margin-left:20px;margin-top:20px;text-align:justify;'>
      <textarea class='txtNota'>some text</textarea>
   </div>
   <div class='clear'></div>
   <div style='margin-left:20px;' align='left'>
       <div class='okNota'>OK Image</div>
   </div>
</div>

JS

$('.okNota').click( function() {
   alert($('.txtNota').val());
});

答案 2 :(得分:0)

$(".okNota").click( function() {     
var value = $('.txtNota').val();
 }); 

这会奏效。你缺少'='。

<textarea class = 'txtNota'>some text</textarea> 

答案 3 :(得分:0)

使用:

$(this).closest(".postit_popup").find("textarea").val();