2010-12-30 7 views
1

내가 자바 스크립트 즉자바 스크립트의 연결? 이 옳고 그름은

$('#bio').css('font-color', result.titlecolor); 

두 문자열을 연결하고 싶지만 내가 result.titlecolor 즉

$('#bio').css('font-color','#' result.titlecolor); 

전에 문자 번호를 넣을입니까? 감사

+3

이런, ** 아무도 ** 'font-color'가 아닌'color'를 알고 있습니까? – BoltClock

+0

질문에 레이저 초점 맞추기. ;-) –

답변

7
$('#bio').css('color','#' + result.titlecolor); 

('글꼴 색'대 '색'에 대한 BoltClock의 코멘트 @ 반영하기 위해 수정 됨.)

+2

하, 나는 내가 아는 사람이라는 것을 알고있다. upvote을 가져라! – BoltClock

+0

Nah. 100 % 정확할 수도 있겠지? –

5

이 :

'#' result.titlecolor 

필요가되게합니다 :

'#'+ result.titlecolor 

자바 스크립트에서 + 연산자는 문자열에 함께 연결됩니다 (단, strings are immutable, s o 사용할 때 새로운 문자열을 생성하고 있습니다.) 또한 문자열과 비 문자열을 숫자와 문자열 같은 문자열로 결합 할 수 있습니다. 따라서이 "The answer is : " + 42"The answer is : 42"이됩니다. 14 + 08과 같이 숫자를 함께 연결하려고하면 이 되려고 "1408"을 두 숫자로 합쳐지기 때문에 까다로운 부분이 나타납니다. 논리적으로 이것은 간단한 예제에서 의미가 있지만, 느슨하게 입력 된 변수를 함께 연결하면 문제가 될 수 있습니다.

1
$('#bio').css('font-color', '#' + result.titlecolor); 
1
$('#bio').css('font-color','#' + result.titlecolor); 
1

+ 연산자, 가산 연산자 및 자바 스크립트 string concatenation operator 모두로서 기능한다. 그래서 :

1 + 1     // is 2 

'The answer is: ' + 42 // is 'The answer is: 42' 

'1' + '1'    // is '11' (!!!) 

'1' + 1 
1 + '1'     // are also '11' (!!!!!) 

코드에 관해서는, CSS 사양은 color하지만 font-color을 정의, 그래서 이것은 당신이 원하는 무엇인가 : 혹시 '1' + '1' 또는으로 실행하는 경우, 보조 노트로

$('#bio').css('color', '#' + result.titlecolor); 

1 + '1' 문제 (예 : 텍스트 상자에서 숫자 값을 가져 오는 경우) unary plus 연산자 또는 parseFloat 함수를 사용하여 피연산자를 숫자로 변환해야합니다.

+'1' + +'1'   // is 2