0

我正在尝试仅删除与 .focus() 函数上的特定输入相关联的错误 div。以下代码工作正常,但唯一的问题是,它正在删除所有.err类,而不管只关注myname输入。

 $(':input[name="myname"]').focus(function(){
    $('.err').fadeOut(1000, function() {
        $(this).remove();
    });
 });

我试图将选择器更新$('.nameinput > div.err')..err.nameinput类中,但它不起作用

 $(':input[name="myname"]').focus(function(){
    $('.nameinput > div.err').fadeOut(1000, function() {
        $(this).remove();
    });
 });

我也试过了.closest(),它又没用了!你能告诉我我在这里做错了什么吗?

** * ** * ** 更新 * ** * ** * ** * *

请在此处查看示例代码

4

1 回答 1

1

err是包含你的div之后的下一个。尝试这个:divinput

$(':input[name="myname"]').focus(function(){
    $(this).closest("div").next('.err').fadeOut(1000, function() {

http://jsfiddle.net/Nqke8/1/

input如果您删除名称限制​​,这也适用于您的其他人:

$(':input').focus(function(){
    $(this).closest("div").next('.err').fadeOut(1000, function() {

http://jsfiddle.net/Nqke8/2/

于 2013-11-08T22:05:58.173 回答