2017-02-24 44 views
0

我有'SVG'元素的問題,我正在嘗試使用attr()方法向'svg'圓元素添加類,但它是不工作。SVG元素上沒有添加addClass()和Attr()的類

**Here is the some piece of code: ** 

r = new ScaleRaphael('lg-map', config.mapWidth, config.mapHeight), 
       attributes = { 
        fill: '#d9d9d9', 
        cursor: 'crosshair', 
        stroke: config.strokeColor, 
        'stroke-width': 1, 
        'stroke-linejoin': 'round', 
        'font-family': 'Verdana', 
        'font-size': '19px', 
        'font-weight': 'bold' 
       }, 
var pinattrs = { 
'cursor': 'pointer', 
'fill':pins[i].color, 
'stroke':config.strokeColor, 
'id': pinId, 
'class':'smallCircle' 
}; 
var pin = r.circle(pins[i].xPos, pins[i].yPos, config.pinSize).attr(pinattrs); 

,其結果是:

<circle cx="425" cy="425" r="10" fill="#737373" stroke="#f2f2f2" id="2" style="-webkit-tap-highlight-color: rgba(0, 0, 0, 0); cursor: pointer;"></circle> 

我也試過addClass()方法,但有同樣的結果。

感謝

+1

你能提供更多的代碼上下文?什麼是'r.circle'? –

+0

addClass絕對不適用於SVG元素。 attr()應該但是,r.circle從哪裏來? –

+0

http://stackoverflow.com/questions/8638621/jquery-svg-why-cant-i-addclass – Khaleel

回答

0

那麼你沒有訪問您的.attr()參數類鍵。

更改此:

var pin = r.circle(pins[i].xPos, pins[i].yPos, config.pinSize).attr(pinattrs); 

要這樣:

var pin = r.circle(pins[i].xPos, pins[i].yPos, config.pinSize).attr(pinattrs.class); 
相關問題