Javascript jQuery';s条件从句总是第一个条件
我在jQuery中使用了这个条件函数,以便在需要时以自己的样式显示特定消息: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
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分钟后打勾。谢谢你,阿连德。我在寻找基本错误(使用=而不是==)。谢谢你的关注,谢谢阿连德。我在寻找基本错误(使用=而不是==)。谢谢你的关注。