我遇到这种情况:
<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'>
<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());
});
但我需要知道是否有另一种方法可以获得它。
非常感谢。
答案 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();