Javascript 使用空格处理ID(Cytoscape.js)

Javascript 使用空格处理ID(Cytoscape.js),javascript,cytoscape.js,Javascript,Cytoscape.js,我正在使用Cytoscape.js实现一个先决条件图。 但问题是,当我用课程名称设置ID时(例如:开始编程),由于课程名称中的空白,我不能正确地选择节点。 temp.group = "nodes"; temp.data = {id: a, label: b}; // A: "Beginning Programming" B: "1111" cy.add(temp); 然后,当我这样做时: cy.$("Beginning Programming"); 它说它是一个无效的选择器 有办法吗?您不能

我正在使用Cytoscape.js实现一个先决条件图。 但问题是,当我用课程名称设置ID时(例如:开始编程),由于课程名称中的空白,我不能正确地选择节点。

temp.group = "nodes";
temp.data = {id: a, label: b}; // A: "Beginning Programming" B: "1111"
cy.add(temp);
然后,当我这样做时:

cy.$("Beginning Programming");
它说它是一个无效的选择器


有办法吗?

您不能在id中使用空格(请参阅)

我建议用下划线替换空格,如下所示

var modifiedId = a.split(' ').join('_');
temp.data = {id: modifiedId , label: b}; // A: "Beginning_Programming" B: "1111"

如果id也显示,您可以将其替换为%20(在html中显示为空格)

经过几个小时的研究,我发现属性选择器可以工作。 下面的代码就像一个符咒

cy.$("[id='Beginning Programming']");

用下划线替换空格是另一种解决方案,但我也使用id作为标签。这意味着我需要另一个属性来放置课程名称。