getaway
getaway

Reputation: 8990

concatenation in javascript?

i want to concatenate two string in javascript i.e.

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

but i want to put the character # before the result.titlecolor i.e.

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

is this right or wrong? thanks

Upvotes: 1

Views: 4216

Answers (5)

PleaseStand
PleaseStand

Reputation: 32052

The + operator serves as both the addition operator and string concatenation operator in JavaScript. So:

1 + 1                   // is 2

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

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

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

As for your code, the CSS specification defines color but not font-color, so this is what you want:

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

As a side note, if you ever run into the '1' + '1' or 1 + '1' problem (e.g. you are taking a numeric value from a text box), you have to convert the operands to numbers using the unary plus operator or the parseFloat function:

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

Upvotes: 1

Brian Clapper
Brian Clapper

Reputation: 26201

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

(Edited to reflect @BoltClock's comment about 'color' versus 'font-color'.)

Upvotes: 7

kemiller2002
kemiller2002

Reputation: 115420

This:

'#' result.titlecolor

needs to be:

'#'+ result.titlecolor

In javascript the + operator concatenates to strings together (but remember strings are immutable, so you are creating a new string when you use it). It will also allow you to contatenate a string and a non-string together into a string, such as a number and a string. So this "The answer is : " + 42 becomes "The answer is : 42" The tricky part comes in because if you try and concatenate to numbers together such as 14 + 08, you don't get "1408" it adds the two numbers together to become 22. Logically this makes sense on a simple example, but it can become troublesome when are concatenating variables together which are loosely typed.

Upvotes: 5

Luis
Luis

Reputation: 6001

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

Upvotes: 1

adarshr
adarshr

Reputation: 62573

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

Upvotes: 1

Related Questions