【问题标题】:Raphaël and selecting many elements拉斐尔和选择许多元素
【发布时间】:2012-02-17 18:14:32
【问题描述】:
我需要在页面上放置一些由 Raphaël 生成的微调器。但我只能创建一个微调器,因为 Raphaël 按 id 选择元素。例如,如何按类选择许多元素?我尝试使用 jQuery:
var spinners = $('div.spinners');
var r = Raphael(spinners, 320, 200);
但它不起作用。
【问题讨论】:
标签:
javascript
jquery
raphael
sizzle
【解决方案1】:
我创建了一个小小提琴http://jsfiddle.net/vSZ58/2/
- 在这里,我们将
getByClass,微调器方法附加到纸张对象。
-
spinner 方法创建元素时,我们正在分配类
属性到元素的节点。stick.node.setAttribute("class" , classname)
- 然后在
getByClass方法中,我们循环所有元素
纸并检查传递的类名是否存在于
元素节点。如果是,则将其推送到res 数组,这将是
结果。
注意:此方法仅适用于使用 Raphael 创建的元素。由于您使用 Raphael 生成微调器,所以这不是问题。
如果您在 svg 文档上以声明方式定义了一些微调器,我认为这是不可能的。如果您对此有任何想法,请更新。
【解决方案2】:
试试这个 jQuery 每个方法:
$('div.spinners').each(function(index) {
//alert(index + ': ' + $(this).text());
var r = Raphael(this, 320, 200);;
});