2014-02-25 1 views
0

을 작동하지 않습니다 :사용 수익 내가 원래 같은했다

<div class=""></div> 

$(function() { 
    $("div").on("click", function() { 
     $(this).addClass(function() { 
      if ($(this).hasClass("")) { 
       return "scale"; 
      } else { 
       return ""; 
      } 
     }); 
    }); 
}); 

을 그리고 그것을 간단하게하려고했으나 오류가 점점 오전 :

Uncaught SyntaxError: Unexpected token return

<div class=""></div> 

$(function() { 
    $("div").on("click", function() { 
     $(this).addClass(function() { 
      $(this).hasClass("") ? return "scale" : return ""; 
     }); 
    }); 
}); 

I을 전체 문장을 괄호로 묶고 하나의 반환 값을 사용하여 시도했지만 여전히 같은 오류가 발생합니다.

여기에 뭔가 잘못입니까?

+1

해야한다, return 문이 아니라, 성명이다. 일반적으로 문장은 표현식에 포함될 수 없으며 다른 방식으로 사용됩니다. return 문의 구조는'return ;'이므로 조건 연산자를 포함한'return' 키워드 다음에 어떤 표현식이라도 넣을 수 있습니다. –

+0

@FelixKling : 그 말이 완벽합니다. 고마워요! – Stereo99

답변

4

당신은 할 수 있습니다 :

$(function() { 
    $("div").on("click", function() { 
     $(this).addClass(function() { 
      return $(this).hasClass("") ? "scale" : ""; 
     }); 
    }); 
}); 
1

그것은 조건 연산자는 * 표현 *입니다

$(function() { 
    $("div").on("click", function() { 
     $(this).addClass(function() { 
      return $(this).hasClass("") ? "scale" : ""; 
     }); 
    }); 
}); 
+0

@ user2930185 방금 다른 오류가 수정되었습니다.'return $ (this) .hasClass ("")입니까? "scale": "";'not'return $ (this) .hasClass ("")? "scale": return ""; –