Jquery CytoscapeJS-显示节点邻域?
我有一个JSON格式的数据集,其中包含有关节点和边的信息,我正在使用这些信息在cytoscapeJS中生成网络图。JSON数据包含节点的id、值、形状、颜色和visibleDisplay(“元素”或“无”)属性,以及边的id、源、目标和标签。当容器第一次初始化时,我的样式表使用这个“visibleDisplay”属性根据需要显示/隐藏节点 我希望允许用户使用“显示邻居”选项来取消隐藏节点。我已经修改了旧代码以使用集合,但它仍然不起作用:Jquery CytoscapeJS-显示节点邻域?,jquery,nodes,cytoscape.js,Jquery,Nodes,Cytoscape.js,我有一个JSON格式的数据集,其中包含有关节点和边的信息,我正在使用这些信息在cytoscapeJS中生成网络图。JSON数据包含节点的id、值、形状、颜色和visibleDisplay(“元素”或“无”)属性,以及边的id、源、目标和标签。当容器第一次初始化时,我的样式表使用这个“visibleDisplay”属性根据需要显示/隐藏节点 我希望允许用户使用“显示邻居”选项来取消隐藏节点。我已经修改了旧代码以使用集合,但它仍然不起作用: function showNeighbourhood()
function showNeighbourhood() {
var eleID;
var neighbourArray= new Array();
var neighbours= cy.collection(); // collection
cy.nodes().forEach(function( ele ) {
if(ele.selected()) { // get the currently selected node.
eleID= ele.id();
}
});
// Find its connected neighbours.
cy.edges().forEach(function( edg ) {
if(edg.data('source') === eleID) {
neighbourArray[neighbourArray.length]= edg.data('target');
}
else if(edg.data('target') === eleID) {
neighbourArray[neighbourArray.length]= edg.data('source');
}
});
// Add the array to the collection.
neighbours.add(neighbourArray);
// Show neighbourhood, using the collection.
neighbours.show();
}
有没有关于如何使这项工作的建议?
我不能在集合上使用show()方法使所需的节点可见吗?您只需要使用
node.neighbor()
,例如cy.$(':selected').neighbor().removeClass('hidden')
谢谢Max,我使用了:cy.nodes(':selected').neighbor().nodes().show()代码>cy.on('tap',函数(evt){console.log(cy.$('#'+evt.target.id()).neighbor())});它正在向我展示一件物品。。。。。我只想直接连接的节点列表。。。如何获取…cy.on('tap',function(evt){console.log(cy.$('#'+evt.target.id()).neighbor())});它正在向我展示一件物品。。。。。我只想直接连接的节点列表。。。如何得到那个。。。