使用.focus()函数选择子元素的问题

时间:2013-11-08 21:29:21

标签: jquery

我正在尝试删除与.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()它再也没有用了!能不能让我知道我在这里做错了什么?

** * ** * ** < em>更新 * ** * ** * ** * *

请查看示例代码Here

1 个答案:

答案 0 :(得分:1)

err是包含div的{​​{1}}之后的下一个div。试试这个:

input

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

如果您删除了名称限制,这也适用于您的其他$(':input[name="myname"]').focus(function(){ $(this).closest("div").next('.err').fadeOut(1000, function() {

input

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