0

我已将自定义数据属性分配给添加到 Raphael 画布的一些圆圈,如下所示each()

marker.data('transaction', transaction);

如何在画布上找到具有相同事务数据值的元素,并将它们的位置放入 for 循环中的数组中,然后对该数组执行操作?

例如在伪代码中:

for (current_transaction = 1; current_transaction < 10; current_transaction++) {
    var array = find the location of elements with transaction data value of 
    current transaction;
    //perform some function with that array
}

那么我的问题是,你如何'getElementByData',然后搜索具有相同数据的元素。剩下的很简单。

4

1 回答 1

1

document.querySelectorAll ('[transaction]') 将使用属性事务获取所有内容。

使用 [transaction='foo'] 获取具有值 foo 的事务属性,例如

<svg xmlns="http://www.w3.org/2000/svg" version="1.1">

  <path transaction="1"/>
  <path transaction="2"/>
  <path transaction="1"/>

  <script>
    for (var current_transaction = 1; current_transaction &lt; 2; current_transa
ction++) {
       var found = document.querySelectorAll("[transaction='" + current_transact
ion +"']");
       alert(found.length);
    }
  </script>

</svg>
于 2012-06-25T09:04:17.497 回答