8

How does one add a variable string in this javascript statement? where name may correspond to any valid string , say WebkitTransform or Moztransform,etc

document.getElementById('test').style.VARIABLE_NAME  =  'rotate(15deg)';

My code doesn't seem to work when i set the VARIABLE_NAME to WebkitTransform, but it works fine if I use WebkitTransform directly, as in without naming it via a variable. Thanks in advance :)

2 Answers 2

19

There are two ways to access members of a Javascript object.

Dot notation, which uses an identifier to access the member:

obj.member;

Bracket notation, which uses a string to access the member:

obj['member']

The latter uses a string to locate the member and you can just as easily use any expression. The value of the expression will be converted to a string so these are equivalent:

obj[{}]
obj['[object Object]']

If your expression is already a string it will be used as is, and in your case your variable holds a string so you can just do:

document.getElementById('test').style[VARIABLE_NAME]  =  'rotate(15deg)';
Sign up to request clarification or add additional context in comments.

2 Comments

In general, foo.bar is syntactic sugar for foo['bar'].
But remember obj['accept everything even spaces'], while obj.something with spaces will probably not do what you want
3

There are 2 ways of accessing values in javascript objects. The first one is by using the dot operator(e.g. object.memberName). The second one is by using the square bracket notation(e.g. object['memberName']).

1 Comment

memberName needs to go in quotes with the second example.

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.