jQuery从所有输入,textarea和特定div中的select元素中删除类

时间:2016-09-29 08:23:20

标签: javascript jquery

jQuery从所有输入,文本区域中删除该类,并选择特定div中的元素

如何使用jQuery从特定div中的所有输入,textarea和select元素中删除类。

我的HTML如下所示:

<h4 class="subHead02">Personal Statement
    <span class="action-container">
        <a href="javascript:;" class="edit-link"> 
            <i class="icon-edit"></i>
        </a>
    </span>
</h4>
<div class="profile_info_wrap">
    <input type="text" value="test" class="hide"/>
    <textarea class="hide" ros="3" cols="10">I am in text area</textarea>
    <select class="hide">
        <option>one</option>
        <option>two</option>
    </select>
    <input type="text" value="hello" class="hide"/>
</div>

何时点击编辑链接(锚标记为class =&#34; edit-link&#34;),我想删除类&#34;隐藏&#34;来自div中的每个输入,文本区域和选择元素,使用类&#34; profile_info_wrap&#34;。

尝试如下,

jQuery(this).parent().parent().next(".profile_info_wrap").find("select,textarea, input").removeClass('hide');

但它不起作用。任何帮助将不胜感激

3 个答案:

答案 0 :(得分:0)

使用最近的父母使用

$(this).closest('.subHead02').next(".profile_info_wrap").find("select,textarea, input").removeClass('hide');

同样更正remoceClassremoveClass

您的锚标记的OnClick操作也只需添加e.preventDefault();

$(function(){
  
   $('.edit-link').click(function(e){
     e.preventDefault();
     $(this).closest('.subHead02').next(".profile_info_wrap").find("select,textarea, input").removeClass('hide');
     
   })

})
.hide {
  display: none;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<h4 class="subHead02">Personal Statement
    <span class="action-container">
        <a href="#" class="edit-link"> 
            <i class="icon-edit">hello</i>
        </a>
    </span>
</h4>
<div class="profile_info_wrap">
    <input type="text" value="test" class="hide"/>
    <textarea class="hide" ros="3" cols="10">I am in text area</textarea>
    <select class="hide">
        <option>one</option>
        <option>two</option>
    </select>
    <input type="text" value="hello" class="hide"/>
</div>

我希望它有所帮助。它适用于下面的代码段。

答案 1 :(得分:0)

你有拼写错误removeClass()而不是remoceClass()

jQuery(this).closest('.subHead02').next(".profile_info_wrap").find("select,textarea, input").removeClass('hide');

答案 2 :(得分:0)

试试这个

 $('.edit-link').click(function(){
      $('.profile_info_wrap').find('.hide').each(function(){
           $(this).removeClass('hide');
      });
 });

嘿,我正在通过电话发帖,所以可能会有一些拼写错误。

由于