Massimo Ugues
Massimo Ugues

Reputation: 4463

How to dynamic call property on javascript object with jQuery

Hallo all. I got a javascript object with some propeties let's say

function Animal() {
this.id;
this.name;

I need to call id function in a dynamic way to get and set its value: something like this

Animal animal = new Animal();
var propertyName = "id";
animal.+propertyName = "name";

Is there an elegant way to do it? With jQuery?

Kind regards

Massimo

Upvotes: 8

Views: 12573

Answers (2)

Slavo
Slavo

Reputation: 15463

Apart from object syntax, in JavaScript you can also use an array-like syntax to query object properties. So in your case:

function Animal() { this.id; this.name };
Animal animal = new Animal();
animal.id = "testId";

var propertyName = "id";
alert(animal[propertyName]); // this should alert the value "testId";

Here's an article with more details: http://www.quirksmode.org/js/associative.html

Upvotes: 17

Andy E
Andy E

Reputation: 344567

No jQuery needed for this. You need to use square brackets:

animal[propertyName] = "name";

Upvotes: 3

Related Questions