我想用一個id屬性添加到<circle>
標籤jQuery的.attr()
:添加一個ID,<circle>標籤不工作
r.circle(x, y, 6).attr({fill: "#ff0000", stroke: "none", id: "cir1"}),
的問題是,它增加了fill
和stroke
屬性,但不id
。我知道,因爲我看着Google Chrome DEV,並沒有顯示id
!
我想用一個id屬性添加到<circle>
標籤jQuery的.attr()
:添加一個ID,<circle>標籤不工作
r.circle(x, y, 6).attr({fill: "#ff0000", stroke: "none", id: "cir1"}),
的問題是,它增加了fill
和stroke
屬性,但不id
。我知道,因爲我看着Google Chrome DEV,並沒有顯示id
!
這對我來說很好。
證明:開放this test page並打開您的開發者控制檯。你會看到"yay 1 circle"
輸出,這是這段JavaScript代碼的結果:
var head = $('circle:eq(1)');
head.attr({id:'yay'});
console.log(
head[0].id,
$('#yay').length,
document.getElementById('yay').tagName
);
從這裏就可以看出,id
屬性既a)是DOM元素上設置,和b)工作作爲通過jQuery或DOM方法訪問元素的方法。
你可以提供一個工作測試用例,也許使用拉斐爾,顯示這個失敗?
根據文檔,你可以不使用attr
添加id
。在這裏看到:
http://raphaeljs.com/reference.html#attr
如果需要id
作爲一個鉤子,也許你可以設置一個title
,這是允許的。
旁白:
很難從文檔說,如果這是允許的,但也許你可以把它放在引號添加id
爲自定義attr
?
"id" : "cir1"
你是什麼意思,但使用標題?怎麼樣? – Shawn31313
嗯,我不確定你在用什麼'id',但是如果你想用它來引用這個圓圈,也許你可以用'title'屬性來代替。 –
引用像這樣:'$('circle [title =「cir1」]')'在你設置標題後 – Nathan
顯然,你不能設置id通過attr。
只需獲取節點引用並直接設置即可。
r.circle(...).node.id = 'cir1';
在某些情況下,您不需要ID。
您可以使用關鍵字this
。
不,我的意思是標籤 –
Shawn31313
如果您嘗試單獨添加'id',沒有'fill'或'stroke'會發生什麼? –
沒有...它仍然無法正常工作。 我正在使用Raphael Framework – Shawn31313