Javascript - 如何使用单击功能访问对象的属性

标签 javascript jquery object onclick

这是我在 stackoverflow 上发表的第一篇文章,因此,如果我的问题不清楚,或者之前已经回答过这个问题,我深表歉意。我确实尝试过查看,但我认为我的问题是我不知道我做错了什么。

我目前有一个对象,如下所示:

var character = { name1: { info1: xx, info2: xx, ID: xx}, name2:  { info1: 
xx, info2: xx, ID: xx} }

我有一个可供其他人点击的图像,并且该图像的 ID 与对象 ID 相匹配。

我正在尝试将点击属性(ID)传输到一个变量,解析它,然后使用它来访问更完整的ID信息......就像这样:

var clickedOnId = $(this).attr("id");

function characterID() {
    var parseID = JSON.parse(clickedOnID)
    var accessID = character.name.parseID
    $(".div").html("<h2>" + accessID + "</h2>")
}

我知道点击正在记录ID(我已经console.log'ed它),所以我知道点击正在从图像接收ID属性信息......所以问题与我的方式有关m 访问对象。我也尝试过不解析它,但这不起作用。有人对我能做什么有什么建议吗?

谢谢!

最佳答案

JSON.parse() 与此处无关。只是一个简单的测试,看看点击的 id 是否与对象 id 匹配。

var character = { 
   name1: { 
     info1: "x info", 
     info2: "more x info", 
     ID: "xx"
   }, 
   name2: {
     info1: "y data", 
     info2: "specific y info", 
     ID: "yy"
   }
};


$("div").on("click", function(){

  // Loop over objects
  for(var prop in character){

    // Test to see if we have an id match
    if(character[prop].ID === this.id){
        
        // Begin preparing output
        var ul = document.createElement("ul");
        
        // Loop over sub-object properties and produce output
        for(var subProp in character[prop]){
          var li = document.createElement("li");
          li.textContent = prop + "." + subProp + " = "  + character[prop][subProp]; 
          ul.appendChild(li);
        }
    
        $(".div").html(ul);

    }
  }
  
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div id="yy">Try Me</div>
<div id="xx">Try Me</div>
<div class="div"></div>

关于Javascript - 如何使用单击功能访问对象的属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44595056/

相关文章:

javascript - 代码在生产环境和本地环境中表现不同

javascript - 从数组中获取和匹配值

php - Jquery .load 和 .html 加载时间问题

javascript - 将多深度数组对象数组转换为对象数组

java - 使用日历当前日期设置对象

javascript - Surface 背景属性的不透明度

javascript - 当用户 session 过期时,所有窗口都需要关闭 如何?

javascript - JSON 访问并在 Web 浏览器中显示

javascript - 如何消除jquery错误

javascript - 使用 Javascript/JQuery 迭代 JSON 响应