Кстати, причина, по которой вы получаете ошибку 'element is undefined', заключается в том, что:
var propertyName = "test";
var a = {propertyName: "test"};
эквивалентно ..
var a = {"propertyName": "test"};
Т.е. вы не назначаете значение propertyName в качестве ключа, вы присваиваете propertyName в виде строки.