2014-09-26 97 views
3

我想爲我的根節點着色與屏幕上其餘節點不同的顏色,我已經做了一些預先工作來確定根節點的值,並且已經它隨時可用於一個變量。然而,在試圖設計風格的圖時,什麼都沒有發生,並且通過它很難調試。基於內容的Cytoscape.js風格節點

例如:

nodes: [{id = 1}, {id=2}] 

var startingNode = 1; //root node 

$('#cy').cytoscape({ 
       style: [ 
        { 
         selector: 'node', 
         css: { 
          'content': 'data(id)', 
          'background-color': 'red', 
          'color': 'black', 
          'border-width': '1px', 
          'border-color': 'black' 
         } 
        }, 
        { 
         selector: "node[content = 'startingNode']", 
         css: { 
          'content': 'data(id)', 
          'background-color': 'purple', 
          'color': 'black', 
          'border-width': '1px', 
          'border-color': 'black' 

         } 
        }] 

// more info for cytoscape rendering omitted 

}); 

任何投入將是有益的!

感謝, 保羅G.

回答

4

除非content是在節點的data,這是行不通的。如果您有節點的ID(例如foo),則可以使用#foo[id = 'foo']作爲選擇器。

+0

參照上面的例子: '選擇: '節點[ID = startingNode]'' 不起作用,但是: '選擇: '節點[ID = 「1」]''呢,是問題變量的範圍?如果有的話,對方法有什麼建議? – 2014-10-01 16:08:22

+0

如果沒有連接或ES6中可用的字符串模板,則無法使用JS引用字符串中的變量。這可能會幫助你:http://www.quirksmode.org/js/strings.html – maxkfranz 2014-10-01 16:47:17

+0

真棒,完全忘了所有。 'selector:'node [id =''+ startingNode +'「]'' 工作完美,謝謝您的協助! – 2014-10-01 17:40:02