处理带有空格的 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']");
我正在使用 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']");