You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何打印JQuery对象的所有data属性 现有代码返回undefined如何解决

问题原因
  • 你操作的是Cytoscape.js的节点元素实例,既不是普通DOM元素也不是jQuery对象,不存在.attr("data")这类获取数据的方法
  • 从你打印的实例结构可以看到,节点的自定义数据存储在实例的_private.data属性下,Cytoscape官方提供了标准的.data()方法来读取这类数据,不需要直接访问私有属性
修复后的代码
cy.on('tap', 'node', function(evt){
  // 获取点击节点的全部data数据
  const nodeData = evt.target.data();
  // 按需求拼接id、name、type的展示格式,可自行调整展示样式
  const infoContent = `
    <p>ID:${nodeData.id}</p>
    <p>名称:${nodeData.name}</p>
    <p>类型:${nodeData.type}</p>
  `;
  document.getElementById("nodeInfo").innerHTML = infoContent;
});
补充说明

如果只需要读取单个属性,也可以直接给data()方法传入属性名取值,比如evt.target.data('id')就可以直接拿到节点的ID值,不需要先取出整个数据对象。


内容的提问来源于stack exchange,提问作者Reid

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.30 22:09:03