处理带有空格的 ID (Cytoscape.js)

Dealing with IDs with blank spaces (Cytoscape.js)

我正在使用 Cytoscape.js 实现先决条件图。 但问题是,当我用课程名称设置 id 时(例如:Beginning Programming),由于课程名称中的空白 space,我无法正确 select 节点。

temp.group = "nodes";
temp.data = {id: a, label: b}; // A: "Beginning Programming" B: "1111"
cy.add(temp);

然后,当我这样做时:

cy.$("Beginning Programming");

它说这是一个无效的 selector.

有办法吗?

您不能在 id 中使用 spaces(参见 Can a DOM element have an ID that contains a space?)。

我建议用这样的下划线替换 space

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

如果id也显示出来,可以用%20代替(在html中显示为space)

经过几个小时的研究,我发现属性选择器有效。 下面的代码就像一个魅力。

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