将 id 添加到中标签不起作用

发布于 2024-12-06 07:26:38 字数 329 浏览 1 评论 0原文

我正在尝试使用 jQuery 的 .attr() 将 id 属性添加到 标记:

r.circle(x, y, 6).attr({fill: "#ff0000", stroke: "none", id: "cir1"}),

问题是它添加了 fill 和 lines 属性,但不是 id。我知道,因为我查看了 Google Chrome DEV,它没有显示 id

I'm trying to add an id attribute to the <circle> tag using jQuery's .attr():

r.circle(x, y, 6).attr({fill: "#ff0000", stroke: "none", id: "cir1"}),

The problem is that it adds the fill and stroke attributes but not id. I know because I look at the Google Chrome DEV and it's not showing the id!

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(4

东京女 2024-12-13 07:26:38

根据文档,您无法使用 attr 添加 id。请参阅此处:

http://raphaeljs.com/reference.html#attr

如果您需要< code>id 作为一个钩子,也许你可以设置一个title,这是允许的。


旁白:

很难从文档中判断是否允许这样做,但也许您可以通过将 id 放在引号中将其添加为自定义 attr

"id" : "cir1"

According to the documentation, you can't add an id using attr. See here:

http://raphaeljs.com/reference.html#attr

If you need the id as a hook, perhaps you could set a title, which is allowed.


An aside:

It's hard to tell from the docs if this is allowed, but maybe you can add the id as a custom attr by placing it in quotes?

"id" : "cir1"
暖伴 2024-12-13 07:26:38

这对我来说效果很好。

证明:打开此测试页面并打开您的开发者控制台。您将在输出中看到 "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 方法访问元素的方法。

您能否提供一个有效的测试用例(也许使用 Raphael)来显示此失败?

This works fine for me.

Proof: open this test page and open your developer console. You will see "yay 1 circle" in the output, which is the result of this JavaScript code:

var head = $('circle:eq(1)');
head.attr({id:'yay'});
console.log(
  head[0].id,
  $('#yay').length,
  document.getElementById('yay').tagName
);

From this you can see that the id attribute is both a) being set on the DOM element, and b) working as a means for accessing the element through either jQuery or DOM methods.

Can you provide a working test case, perhaps using Raphael, showing this failing?

挽容 2024-12-13 07:26:38

显然,你不能通过 attr 设置 id。

只需获取节点引用并直接设置即可。

r.circle(...).node.id = 'cir1';

Apparently, you can't set the id thru attr.

Just get the node reference and set it directly.

r.circle(...).node.id = 'cir1';
素罗衫 2024-12-13 07:26:38

在某些情况下,您不需要 ID。

您可以使用关键字this

In some instances you do not need an ID.

You can use the keyword this.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文