0

我在一个页面上有几个表单,每个表单都有它自己的“消息框”来显示验证错误。每个“消息框”都有一个关闭按钮。让关闭按钮关闭“消息框”没有问题,但我还需要它从有问题的文本输入中删除类“错误”。页面内容是由 ajax 引入的,因此是“.on”

伪 HTML(请记住,在任何时候都有 8 个这些都包含在自己的表单标签中,消息框和关闭按钮是其中的一部分。

<form action="#" method="post" id="Form6">
    <ul>
        <li>
            <label for="foo">label</label>
            <input type="text" name="foo" id="foo">
            <input type="submit" id="Button6" value="submit" />
        </li>
    </ul>
    <div id="Msg6" class="error"><a class="close">X</a><ul></ul></div>
</form>

我的尝试

$('body').on('click', 'a.close', function(){
    $(this).parent().fadeOut("fast");
    $(this).closest('input[type="text"].error').removeClass('error'); // doesn't work
    $('a.close').closest('ul > li > input.error').remove();// doesn't work
    //console.log($.closest('input[type="text"].error'));//tring to log the value of the ancestor
});
4

1 回答 1

1

这应该有效:

$(this).parents('form').find('input.error').removeClass('error');

但是如果要删除它,无需更改类,只需使用.remove()...

于 2013-02-08T23:41:51.807 回答