这样做很好:
cy.filter("nodename='KRAS'").select()
我该怎么做呢?(在伪代码中,%in%如果存在将测试set成员资格):
cy.filter("node[name %in%‘KRAS“,’in 53‘,'PDGFRA']).select()
谢谢!
发布于 2014-03-13 16:45:17
正如您所怀疑的,更好的方法是批处理导致呈现(如eles.select())的调用--它将样式表应用程序和通知批次到呈现器,以使事情更快。
至于您的选择器,请记住,将选择器连接在一起是合乎逻辑的,用逗号分隔选择器是逻辑OR。所以,你的结果是:
cy.filter('node[foo = "bar"], node[foo = "baz"], node[foo = "bat"]').select();如果图形是静态的,或者很少更改,您也可以进行一些缓存。通过分解每个选择器的公共部分,整个筛选变得更便宜--在您的情况下,如果它们都是节点,只需过滤每个特定选择器的节点集:
var nodes = cy.filter('node'); // a cached copy of nodes
// each time you want to filter
nodes.filter('[foo = "bar], [foo = "baz"], [foo = "bat"]').select();注意第二个filter()调用在本例中是如何更快的,因为它只对图的一个子集进行操作。
https://stackoverflow.com/questions/22338245
复制相似问题