Как использовать значение переменной как часть дерева DOM? - PullRequest
1 голос
/ 25 августа 2011

Я понимаю, что могу использовать eval, но, исходя из того, что я прочитал, eval - это зло! Есть ли альтернативы, которые я могу использовать?

var key = "foo"; //hardcoded for this example, but should actually be dynamic

console.log(document.myform.foo.value); //prints whatever value its supposed to be

document.myform[key].value = "bar"; //<-- what i want to do

console.log(document.myform.foo.value); //prints "bar"

Также есть JQuery. Это jquery может облегчить манипулирование?

Ответы [ 2 ]

2 голосов
/ 25 августа 2011

В этом сценарии нет ничего плохого. Это будет работать, как вы ожидаете. По сути, всякий раз, когда у вас есть . в JavaScript, значение после него может быть записано с помощью записи массива (что у вас есть)

console.log( window.location === window[ 'location' ] ) // true
var loc = 'location';
console.log( window.location === window[ loc ] ) // true
0 голосов
/ 25 августа 2011

jQuery - это доступ к дереву dom, если ключ является идентификатором, вы можете использовать jQuery следующим образом:

$('#' + key).val();

Существует целый ряд селекторов, облегчающих доступ к куполу с помощью jQuery (http://api.jquery.com/category/selectors/):

$('input[type="checkbox"]')...
$('input:radio')...

Проверьте ссылку селекторов выше, большую часть того, почему jQuery так хорош.

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