我明白我可以使用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可以更容易操作吗?
答案 0 :(得分:2)
该脚本没有任何问题。它会像你期望的那样工作。基本上,只要你在JavaScript中有.
,就可以用数组符号表示后面的值(这就是你所拥有的)
console.log( window.location === window[ 'location' ] ) // true
var loc = 'location';
console.log( window.location === window[ loc ] ) // true
答案 1 :(得分:0)
jQuery是关于访问dom树的,如果key是id,你可以像这样使用jQuery:
$('#' + key).val();
有很多选择器可以使用jQuery(http://api.jquery.com/category/selectors/)轻松访问圆顶:
$('input[type="checkbox"]')...
$('input:radio')...
检查上面的选择器链接,这是jQuery如此美好的主要原因。