我正在尝试使用javascript(这个示例代码
)在其中使用条件进行一些循环for (var i in GexfJS.graph.edgeList) {
var _e = GexfJS.graph.edgeList[i]
if ( _e.source == _nodeIndex ) {
var _n = GexfJS.graph.nodeList[_e.target];
_str += '<li><div class="smallpill" style="background: ' + _n.color.base +'"></div><a href="#" onmouseover="GexfJS.params.activeNode = ' + _e.target + '" onclick="displayNode(' + _e.target + ', true); return false;">' + _n.label + '</a>' + ( GexfJS.params.showEdgeWeight && _e.weight ? ' [' + _e.weight + ']' : '') + '</li>';
}
}
它只显示与_nodeIndex连接的节点,但我想显示与连接_nodeIndex的连接节点相关的另一个节点,以及像这样的代码
for (var i in GexfJS.graph.edgeList) {
var _e = GexfJS.graph.edgeList[i]
if ( _e.source == _nodeIndex ) {
var _n = GexfJS.graph.nodeList[_e.target];
_str += '<li><div class="smallpill" style="background: ' + _n.color.base +'"></div><a href="#" onmouseover="GexfJS.params.activeNode = ' + _e.target + '" onclick="displayNode(' + _e.target + ', true); return false;">' + _n.label + '</a>' + ( GexfJS.params.showEdgeWeight && _e.weight ? ' [' + _e.weight + ']' : '') + '</li>';
_nodeIndex = GexfJS.graph.nodeList[_e.target];
var _curr = _nodeIndex;
for (var j in GexfJS.graph.edgeList) {
var _ed = GexfJS.graph.edgeList[j]
if ( _ed.source == _curr ) {
var _no = GexfJS.graph.nodeList[_ed.target];
_str += '<li><div class="smallpill" style="background: ' + _no.color.base +'"></div><a href="#" onmouseover="GexfJS.params.activeNode = ' + _ed.target + '" onclick="displayNode(' + _ed.target + ', true); return false;">' + _no.label + '</a>' + ( GexfJS.params.showEdgeWeight && _ed.weight ? ' [' + _ed.weight + ']' : '') + '</li>';
}
}
}
}
但上面的代码不能正常工作,它显示的节点只连接与_nodeIndex相关的节点。 我的问题是,如果我想显示从与_nodeIndex相关的节点相关联的节点,哪个错误哪个错误? 例如:
与B相关的A,C
B与D,F
有关C与G,K相关
F与M,N相关
M与Y,Z相关
所以,如果我点击节点A,它将与B和C相关, 但目标是如果我点击节点A它将与B,C,D,F,G和K
相关感谢