我已将自定义数据属性分配给添加到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',然后搜索具有相同数据的元素。其余的很简单。
答案 0 :(得分: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 < 2; current_transa
ction++) {
var found = document.querySelectorAll("[transaction='" + current_transact
ion +"']");
alert(found.length);
}
</script>
</svg>