Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/74.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 引用选择器名称的更简洁的方法_Javascript_Jquery_Syntax - Fatal编程技术网

Javascript 引用选择器名称的更简洁的方法

Javascript 引用选择器名称的更简洁的方法,javascript,jquery,syntax,Javascript,Jquery,Syntax,下面的代码可以工作,但我怀疑有一个清洁器 有没有其他方法可以引用选择器名称,特别是第一个不同的名称 jQuery HTML 您不需要选择父对象并获取其ID $(".add_one_more").click(function(){ $(this).parent().stop().fadeOut("slow",function(){ $("#entry_area").stop(

下面的代码可以工作,但我怀疑有一个清洁器

有没有其他方法可以引用选择器名称,特别是第一个不同的名称

jQuery

HTML


您不需要选择父对象并获取其ID

    $(".add_one_more").click(function(){                      
        $(this).parent().stop().fadeOut("slow",function(){                
            $("#entry_area").stop().fadeIn("slow");
        });

        return false;             
    });

您不需要选择父对象并获取其ID

    $(".add_one_more").click(function(){                      
        $(this).parent().stop().fadeOut("slow",function(){                
            $("#entry_area").stop().fadeIn("slow");
        });

        return false;             
    });

事实上,我想说的是,如果您不重新使用id,您不需要存储id,请尝试:

$(".add_one_more").click(function(){            
        var $parent = $(this).parent();            
        $parent.stop().fadeOut("slow",function(){                
            $("#entry_area").stop().fadeIn("slow");
        });

        return false;             
    });

或者更简短,不将jquery对象存储在var[EDIT]中,这正是我写这篇文章时Daniel发布的内容。

实际上,如果您不重新使用它,我想说您不需要存储id,请尝试:

$(".add_one_more").click(function(){            
        var $parent = $(this).parent();            
        $parent.stop().fadeOut("slow",function(){                
            $("#entry_area").stop().fadeIn("slow");
        });

        return false;             
    });
或者更简短,而不将jquery对象存储在var[EDIT]中,这正是我写这篇文章时Daniel发布的内容。

怎么样

var themsg = $(this).parent();
themsg.stop() ...
怎么样

var themsg = $(this).parent();
themsg.stop() ...

我很喜欢你正在做的事情,但我会补充我的想法,让你的js更具弹性,可以移动部件

JS html
我很喜欢你正在做的事情,但我会补充我的想法,让你的js更具弹性,可以移动部件

JS html
请注意,如果您的代码正常工作,您可以将此类问题发布到FWIW,“+themsg+”将创建一个包含前导和尾随引号的字符串,即字符串的内容是someID,实际上应该是someID。@JMax谢谢,我下次会这样做,不知道。@FelixKling它实际上应该是someID,因为它是一个选择器字符串。它是一个选择器字符串,但您的代码相当于$'someID',这是错误的。字符串连接总是产生一个字符串,因此$+themsg是正确的。请注意,如果您的代码有效,您可以将此类问题发布到FWIW,“+themsg+”将创建一个包含前导引号和尾随引号的字符串,即字符串的内容是someID,而它实际上应该是someID。@JMax谢谢,我下次会这样做,不知道。@FelixKling它实际上应该是someID,因为它是一个选择器字符串。它是一个选择器字符串,但您的代码相当于$'someID',这是错误的。字符串连接总是产生一个字符串,因此$+themsg是正确的。谢谢您的回答。上面有语法错误。除非调用jQuery选择器或函数,否则Javascript变量名不能有前面的$符号。@Codex73:这不是真的。$是任何变量名称中的有效字符。它与jQuery没有任何关系,只是jQuery使用一个字母的变量$来分配其主函数。但它也可以只用j。jQuery只是一个库,它不能限制或扩展JavaScript的功能。@Codex73:在名称中使用$是记住此变量引用jQuery对象的一种方法。谢谢@Felix的支持correcting@JMax谢谢各位,我非常感谢。我的评论不应该暗示错误,而是质疑它的答案。我将继续采用美元。谢谢你的回答。上面有语法错误。除非调用jQuery选择器或函数,否则Javascript变量名不能有前面的$符号。@Codex73:这不是真的。$是任何变量名称中的有效字符。它与jQuery没有任何关系,只是jQuery使用一个字母的变量$来分配其主函数。但它也可以只用j。jQuery只是一个库,它不能限制或扩展JavaScript的功能。@Codex73:在名称中使用$是记住此变量引用jQuery对象的一种方法。谢谢@Felix的支持correcting@JMax谢谢各位,我非常感谢。我的评论不应该暗示错误,而是质疑它的答案。今后我将采用美元。
<div id="entry_area">Form Goes Here</div>
<div id="msg0" class="message">
    <span style="font-size: 130%; color: green;">One Message</span>
    <a href="" class="add_one_more">Try Again</a>
</div>
<div id="msg1" class="message" style="width: 550px;">
    <span style="font-size: 130%; color: red;">Another Message</span>
    <a href="" class="add_one_more">Try Again</a>
</div>