html在许多级别获得div标签

时间:2014-06-27 10:54:38

标签: javascript jquery html css

我在class required上获得div tag,我想删除change function text field,但我无法达到该等级,请帮忙我到达this.parent.parent.closest('div')

<div class='required'>
    <div>
        <div>
            <input type='text' value='123' onchange(removeRequired(this, this.parent.parent.closest('div')))/>
        </div>
    </div>
</div>
<script type='text/javascript'>
    function removeRequired(elm1, elm2){
        if ($(elm1).val()) {
            $(elm2).removeClass('required');
        }
    }
</script>

5 个答案:

答案 0 :(得分:1)

你不必搞乱javascript和jquery。你可以使用像这样的jquery绑定change事件,

$(document).ready(function () {
    $("input[type='text'] ").change(function () {
        $(this).closest(".required").removeClass("required");
    });
});

答案 1 :(得分:1)

您希望根据输入是否为空来添加/删除所需的类。

$('.required').on('change', 'input', function(event) {
   // add or remove required class
   $(event.delegateTarget)
       .toggleClass('required', this.value.length === 0);
});

它可以使用以下HTML:

<div class='required'>
    <div>
        <div>
            <input type='text' value='123'/>
        </div>
    </div>
</div>

它在最外面的<div>元素上设置事件委托,然后根据输入值设置或删除required类。

Demo

答案 2 :(得分:0)

试试这个

$("input[type=text]").closest('div.required').removeClass("required");

onchange函数

$("input[type='text']").change(function(){
  $(this).closest("div.required").removeClass("required");
});

  $("input[type='text']").change(function(){
      $(this).parents("div.required").removeClass("required");
    });

答案 3 :(得分:0)

为什么不轻易使用id?

<div id="input-wrapper" class='required'>
    <div>
        <div>
            <input type='text' value='123' onchange="removeRequired(this, $('#input-wrapper'))"/>
        </div>
    </div>
</div>
<script type='text/javascript'>
    function removeRequired(elm1, elm2){
        if ($(elm1).val()) {
            $(elm2).removeClass('required');
        }
    }
</script>

答案 4 :(得分:0)

顺便说一下,如果你想与父母达到div class ='required',你需要3级!尽管如此,使用nearest()是一个更好的答案。

您可以尝试:

<head>
    <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"> </script>
</head>
<div class='required'>
    <div>
        <div>
              <input type='text' value='123' onchange="removeRequired.call(this)"/>
        </div>
    </div>
</div>
<script type='text/javascript'>
    function removeRequired(){
       $(this).parent().parent().parent().removeClass('required');
    }
</script>