我在页面上有几个表单,每个表单都有自己的“消息框”,显示验证错误。每个“消息框”都有一个关闭按钮。我没有问题让关闭按钮关闭“消息框”但我还需要它从违规文本输入中删除类“错误”。页面内容由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
});
答案 0 :(得分:1)
这应该有效:
$(this).parents('form').find('input.error').removeClass('error');
但是如果你想删除它,不需要更改类,只需使用.remove()
...