Javascript 如何获取这个textarea jquery的值

Javascript 如何获取这个textarea jquery的值,javascript,jquery,html,closest,Javascript,Jquery,Html,Closest,我试图在单击带有类“save\u caption”的链接时获取textarea(class=“caption\u textarea”)的值 textarea的值是用ajax更改的,我在这里不包括它,因此它并不总是空的 我有以下HTML代码: <div class="caption_text" style="display:none;"> <div class="small_icons"> <a href="#" onclick="

我试图在单击带有类“save\u caption”的链接时获取textarea(class=“caption\u textarea”)的值

textarea的值是用ajax更改的,我在这里不包括它,因此它并不总是空的

我有以下HTML代码:

  <div class="caption_text" style="display:none;">
      <div class="small_icons">
          <a href="#" onclick="return false;" class="save_caption"><img src="<?php echo base_url('public/images/tick.png'); ?>"/></a>
          <a href=""><img src="<?php echo base_url('public/images/delete.png'); ?>"/></a>
      </div>
      <textarea id="<?php echo $image_name_without_path[0]; ?>" class="caption_textarea" cols="32" rows="2" name="caption_text"></textarea>
  </div>
closest()查找closes祖先。您可能想尝试next()nextAll()


或者类似的方法也可以。

您可以使用找到cpmmon父项
标题\u文本
,然后使用查找其中的文本区域


为什么要使用最近的?我可能遗漏了你代码的一些细节。 无论哪种方式,解决方案都不是:

alert($('.mytextarea').val());
或:

如果您的问题是该类对于该文本区域不是唯一的(我会使用id,但这取决于您),请尝试:

您可以使用“textarea.mytextarea”将其严格保留为textarea或.next(“textarea”)

欢迎修改和编辑


ps:确保“this”为您提供了正确的元素。

稍微更改选择器。首先获取.save_caption的父级,然后查找具有.caption_textarea类的同级。下面对您的代码进行了一些修改-

    jQuery(document).ready(function($) {
         $('.save_caption').live("click", function() {
               alert($(this).parent().siblings('.caption_textarea').val());
         });
     });

希望它能起作用。

只要去掉
find
,你的警报就会起作用。@Archer不会
closest()
搜索dom树,所以它根本找不到文本区域<代码>$(this).closest('div.caption_text').find('textarea').val()?@MarkWalters是-我的错。谢谢你指出我睡眼惺忪的眼睛没有注意到的东西:)谢谢马克。你的解决方案奏效了。投赞成票!那么,为什么最近的('textarea')不起作用,而.closest('div.caption_text')起作用呢?@user1293053
$(此)
指的是您要单击的锚定标记。搜索
最近的('textarea')
向上搜索(在dom树上),直到找到一个textarea。文本区域位于div
小图标外的锚定标记下方。因此,使用class
.caption\u text
查找最近的div意味着我们可以使用
.find('textarea)
在该div中搜索,以查找所有符合我们条件的div。在你的情况下,我们需要特克斯地区。希望帮助可以让您尝试alert($(this.next('textarea').val());我不知道
$(this).next().val()
是否有效。但是如果它有效,你应该写
$(this)
,而不是
$('this')
。和
.next(textarea)
应该是
.next('textarea')
;)
jQuery(document).ready(function($) {
     $('.save_caption').live("click", function() {
           alert($(this).closest('.caption_text').find('.caption_textarea').val());
     });
 });
jQuery(document).ready(function($) {
     $('.save_caption').live("click", function() {
          alert($(this).closest('.caption_text').find('.caption_textarea').val());
     });
 });
alert($('.mytextarea').val());
alert($('.mytextarea').html());
alert($(this).next().val());
    jQuery(document).ready(function($) {
         $('.save_caption').live("click", function() {
               alert($(this).parent().siblings('.caption_textarea').val());
         });
     });