如何使用变量值作为 dom 树的一部分?

发布于 2024-12-01 04:59:11 字数 401 浏览 1 评论 0原文

我知道我可以使用 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 可以让这个更容易操作吗?

I understand that I can use eval, but based on what I've read, eval is evil! Are there alternatives I can use?

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"

Also have jquery. Is this something jquery can make easier to manipulate?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

梦言归人 2024-12-08 04:59:11

该脚本没有任何问题。它将按您的预期工作。基本上,任何时候你在 JavaScript 中有 . ,它后面的值都可以用数组表示法来表示(这就是你所拥有的)

console.log( window.location === window[ 'location' ] ) // true
var loc = 'location';
console.log( window.location === window[ loc ] ) // true

There is nothing wrong with that script. It will work as you expect. Basically, any time you have a . in JavaScript, the value after it can be notated with array notation (which is what you have there)

console.log( window.location === window[ 'location' ] ) // true
var loc = 'location';
console.log( window.location === window[ loc ] ) // true
静水深流 2024-12-08 04:59:11

jQuery 的全部内容是访问 dom 树,如果 key 是一个 id,您可以像这样使用 jQuery:

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

有一整套选择器可以使使用 jQuery 轻松访问 dome (http://api.jquery.com/category/selectors/):

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

查看上面的选择器链接,它是 jQuery 如此出色的重要原因好的。

jQuery is all about accessing the dom tree, if key is an id you can use jQuery like so:

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

There are a whole host of selectors to make accessing the dome easy with jQuery (http://api.jquery.com/category/selectors/):

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

Check-out the selectors link above, its a big part of why jQuery is so nice.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文