我想用一个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