【问题标题】:How to add ID to Raphael JS element on creation如何在创建时将 ID 添加到 Raphael JS 元素
【发布时间】:2020-10-24 02:45:26
【问题描述】:

我正在处理下面的演示。为什么我无法将 id sample 添加到对象?我正在尝试通过 css 控制元素样式,但它不起作用

var paper = Raphael("container", 500, 300); 
var dot = paper.circle(50, 50, 30).attr({ 
stroke: "#000", 
"stroke-width": 5 
}).data("id", "sample"); 
#sample{
  fill:red;
}
<script src="https://cdnjs.cloudflare.com/ajax/libs/raphael/2.1.0/raphael-min.js"></script>
<div id="container"></div>

【问题讨论】:

  • 只是关于简洁的一般说明,Behseini。看起来你的很多帖子都是“你能看看,让我知道为什么”的形式。对于以英语为母语的人来说,这有一种需要的、恳求的感觉,而不是我们在这里想要的那种技术性的、中性的写作。我还认为,当一个人向志愿者讲话时,这并不理想,因为恳求是一种情绪操纵的形式。
  • 您会发现,如果您使用“我”写作,即“我正在[或正在处理]这个”和“我该怎么做/我可以做些什么来实现”。我认为这样做效果更好的原因是,最好向读者表明您知道大部分工作仍由您完成。这比假设读者会从你那里拿走你所有的工作(并减轻你所有隐含的痛苦)要好得多。谢谢!

标签: raphael


【解决方案1】:

问题是 data() 不引用元素上的 svg 属性,而是引用 Raphael 元素上的自定义数据,它可以访问。

如果要设置 id 属性,则需要尝试以下方法之一...

在您正在使用的 attr({}) 定义中设置“id”(但是,iirc 的某些版本的 Raphael 不能使用它),如果没有,您需要这样做

dot.attr({ 'id', 'sample' }); // or try the following 

dot.node.setAttribute('id', 'sample'); // or 

dot.node.id = 'sample';

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-06-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多