Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/449.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 jQuery';s条件从句总是第一个条件_Javascript_Jquery - Fatal编程技术网

Javascript jQuery';s条件从句总是第一个条件

Javascript jQuery';s条件从句总是第一个条件,javascript,jquery,Javascript,Jquery,我在jQuery中使用了这个条件函数,以便在需要时以自己的样式显示特定消息: function msg(type, text) { if (type="success"){ $('.messageDisplay').attr('class', 'messageDisplay messages success'); $('.messages').text(text); $('.messages').stop( true, false ).fa

我在jQuery中使用了这个条件函数,以便在需要时以自己的样式显示特定消息:

function msg(type, text) {
    if (type="success"){
        $('.messageDisplay').attr('class', 'messageDisplay messages success');
        $('.messages').text(text);
        $('.messages').stop( true, false ).fadeIn(300).delay(2000).fadeOut(450);}
    else if (type="info"){
        $('.messageDisplay').attr('class', 'messageDisplay messages info');
        $('.messages').text(text);
        $('.messages').stop( true, false ).fadeIn(300).delay(2000).fadeOut(450);}
    else if (type="error"){
        $('.messageDisplay').attr('class', 'messageDisplay messages error');
        $('.messages').text(text);
        $('.messages').stop( true, false ).fadeIn(300).delay(2000).fadeOut(450);}
    else if (type="warning"){
        $('.messageDisplay').addClass('messages warning');
        $('.messages').text(text);
        $('.messages').stop( true, false ).fadeIn(300).delay(2000).fadeOut(450);}}
调用它时,它只接受第一个条件,因为始终添加到
messageDisplay
div的类是
'messageDisplay messages info'
。例如,在这种情况下,我调用
“error”
消息类型:

$('.tableContent').on('click', '.editIcon', function (e){
        if (editing==1){
            msg("error", "Acepta o anula la edición actual antes de editar otro registro");}
即使采用正确的文本,也会生成
success
风格的消息:

<div class="messageDisplay messages success">Acepta o anula la edición actual antes de editar otro registro</div>
Acepta o anula la edición editar otro registro实际赌注
在多次检查jQuery中可能导致这种行为的原因之后,我无法找到它,并且我几乎可以肯定没有其他jQuery函数会导致这种行为。这是不是有条件的错误

if (type="success"){
应该是

if (type=="success"){
等等

= means assignment not comparison 
应该是

if (type=="success"){
等等

= means assignment not comparison 
试一试

或者如果您确信
类型
是字符串,那么

if (type === "success")
对你所有的条件都是一样的

如果您使用的是
“=”
运算符,并且该运算符用于赋值,请使用
“=”
以确保您在比较值之外的相同类型(字符串)

至少您100%确信“type”是字符串,最好使用
toString()将其转换为字符串

您也可以使用
toString()
,但您可能需要检查一些差异,请参见以下问题:

注意:关于
=
==
看看这个问题: 试试看

或者如果您确信
类型
是字符串,那么

if (type === "success")
对你所有的条件都是一样的

如果您使用的是
“=”
运算符,并且该运算符用于赋值,请使用
“=”
以确保您在比较值之外的相同类型(字符串)

至少您100%确信“type”是字符串,最好使用
toString()将其转换为字符串

您也可以使用
toString()
,但您可能需要检查一些差异,请参见以下问题:

注意:关于
=
==
看看这个问题:

ARG!非常感谢你。我会在12分钟内打勾。ARG!非常感谢你。我12分钟后打勾。谢谢你,阿连德。我在寻找基本错误(使用=而不是==)。谢谢你的关注,谢谢阿连德。我在寻找基本错误(使用=而不是==)。谢谢你的关注。