1

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

2
  • 3
    Gee, did nobody realize it's color, not font-color? Commented Dec 30, 2010 at 15:35
  • Laser-focused on the question, man. ;-) Commented Dec 30, 2010 at 15:36

5 Answers 5

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

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

Sign up to request clarification or add additional context in comments.

Comments

5

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.

Comments

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

Comments

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

Comments

1

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

Comments

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.