Можно ли использовать строковую переменную для ссылки на элемент в Javascript? - PullRequest
0 голосов
/ 08 апреля 2010

Вот быстрая версия кода в его нынешнем виде:

function foo(attributeName, someJSObj, key, newValue)
{
    someJSObj[key].attributeName = newValue;
}

Очевидно, что это не работает, поскольку он просто создает новый элемент с именем attributeName. Есть ли простой способ разыменовать attributeName в строке, которая представляет некоторый существующий атрибут someJSObj?

Ответы [ 3 ]

5 голосов
/ 08 апреля 2010

Вам также необходимо использовать скобки для attributeName:

function foo(attributeName, someJSObj, key, newValue)
{
    someJSObj[key][attributeName] = newValue;
}

Теперь в качестве идентификатора используется значение attributeName вместо самого идентификатора attributeName.

1 голос
/ 08 апреля 2010

Если я вас правильно понял, вы могли бы использовать ECMAScript

function foo(attributeName, someJSObj, key, newValue)
{
    someJSObj[key][attributeName] = newValue;
}

Надеюсь, это поможет вам.

0 голосов
/ 08 апреля 2010

Попробуйте someJSObj [ключ] .setAttribute (attributeName, newValue)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...