如何在jquery中获取textarea?

时间:2015-12-20 11:38:10

标签: javascript jquery html

html表在代码

<table>
   <thead>
      <tr>
         <th>
            <a href="#this" class="btn" id="edit">edit</a>
         </th>
     </tr> 
  </thead>
  <tbody>
     <tr>
        <td>
           <textarea></textarea>
        </td>
     </tr>  
  </tbody>
</table>

如何在#edit按钮点击事件中获取textarea?

$(function() {
    $("#edit.btn").click(function() {

    });
});

我在尝试:

$(this).closest('tbody tr th textarea')

它不能正常工作。

如何在按钮点击事件中获得textarea

1 个答案:

答案 0 :(得分:1)

你需要到达你的按钮(#edit)与目标元素(textarea)的第一个共同祖先。你可以这样做:

$("#edit.btn").click(function() {
  var $textarea = $(this).closest('table').find('textarea');
});

或者,您可以为textarea提供一个标识符(例如... 'id'属性?),并直接定位,如下所示:

$("#edit.btn").click(function() {
  var $textarea = $('#your-textarea-id');
});

最后,如果这是一个动态代码,并且您有多对button&amp; textarea,您可以将textarea标识符放在button元素上,如下所示:

<强> HTML

<a href="#this" class="btn" id="edit" data-target="my-text-0">edit</a>
...
...
...
<textarea id="my-text-0"></textarea>

<强> JS

$("#edit.btn").click(function() {
  var $textarea = $('#'+$(this).data('target'));
});