gpt4 book ai didi

Javascript 对象键按元素 id? (jQuery)

转载 作者:行者123 更新时间:2023-12-01 02:25:59 27 4
gpt4 key购买 nike

这看起来是一个非常简单的问题,但我就是无法让它发挥作用。

我有一个像这样的 Javascript 对象:

var person = {};
person.one = {gender: 'male', name: 'John'};
person.two = {gender: 'male', name: 'Doe'};
person.three = {gender: 'female', name: 'Jane'};

然后我有一些像这样的 HTML:

<a id="one">click</a>
<a id="two">click</a>
<a id="three">click</a>

现在,我需要通过单击的链接的 id 获取正确的对象值。所以基本上,我需要在没有 for 循环的情况下动态访问第一级对象键,因为键是字符串。

我已经尝试过这个:

$('a').click(function() {
alert(person[$(this).attr('id')['gender']]);
});

没成功。这也没有:

$('a').click(function() {
alert(person.($(this).attr('id')).gender);
});

我得到的只是“未捕获的异常:语法错误,无法识别的表达式”。显然,我的语法有很大偏差。

我已经阅读了这里的许多帖子,但找不到解决方案。有什么想法吗?

最佳答案

要像您想要的那样访问具有动态名称的属性,正确的语法是使用括号,就像数组一样。

alert(person[$(this).attr('id')].gender);

或者将该 ID 放入单独的变量中可能看起来更清晰:

var id = $(this).attr('id');
alert(person[id].gender);

您的来电:)

关于Javascript 对象键按元素 id? (jQuery),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2917400/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com