Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/464.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何获取javascript中svg组元素中单击的rect元素的索引_Javascript_Jquery_Svg - Fatal编程技术网

如何获取javascript中svg组元素中单击的rect元素的索引

如何获取javascript中svg组元素中单击的rect元素的索引,javascript,jquery,svg,Javascript,Jquery,Svg,我想获取已单击矩形元素的索引。我在一个组元素中有多个矩形。我想获取特定已单击矩形的索引 我曾经这样用过 var par=document.getElementById(this.parentgEle.id); var childs = par.getElementsByTagName('rect'); for (var i = 0, len = childs.length; i < len; i++) { t

我想获取已单击矩形元素的索引。我在一个组元素中有多个矩形。我想获取特定已单击矩形的索引

我曾经这样用过

var par=document.getElementById(this.parentgEle.id);                        
var childs = par.getElementsByTagName('rect');
        for (var i = 0, len = childs.length; i < len; i++) {
         this.currentRectIndex = i;
          console.log(this.currentRectIndex);
        }     
var par=document.getElementById(this.parentgEle.id);
VaR=PAR.GETelEngsByTAGNID(ReCt);
for(变量i=0,len=childs.length;i
这样使用,我可以在删除第一个矩形时正确获取索引值。但是如果我有三个矩形,删除最后一个矩形,然后单击第二个矩形,它将返回索引值1。 但是,如果我单击第一个rect,那么值应该返回为0。但是由于使用for循环,它返回1。 如何避免这种情况。 我们可以在不使用循环的情况下获得元素的索引吗。 有人推荐我吗。 这对我应该是很大的帮助。
提前感谢。

您没有选择标准。。。所以循环只运行到它的极限,即子矩形的数量。您需要获取单击元素的id,并将其与给定迭代中的元素id进行比较,然后在匹配和中断时删除;。谢谢你的回复。事实上,我有rect,在rect的拐角处有circle元素。我单击circle元素,然后执行拖动操作。但我只想知道rect索引。根据你的建议,单击的元素是圆形,在循环元素中不匹配。因为我只考虑rect元素。这就是问题所在。如何解决此问题。您所做的工作的基础是在集合中查找元素。因此,1)需要一种识别集合中某个元素的方法,2)需要一种在集合中移动并将其每个元素的id与您试图查找的id进行比较的方法。应该是非常直接的。最初我不知道单击了哪个元素。想知道矩形索引。但是根据您的想法,单击的元素是圆形的,并且与循环中的子元素不匹配。明白我的问题吗?仅显示循环代码没有帮助。显然,还有其他代码在做您没有解释清楚的事情。你应该发布一个片段或提琴,显示出一个“工作”的例子,说明哪里出了问题。你没有选择标准。。。所以循环只运行到它的极限,即子矩形的数量。您需要获取单击元素的id,并将其与给定迭代中的元素id进行比较,然后在匹配和中断时删除;。谢谢你的回复。事实上,我有rect,在rect的拐角处有circle元素。我单击circle元素,然后执行拖动操作。但我只想知道rect索引。根据你的建议,单击的元素是圆形,在循环元素中不匹配。因为我只考虑rect元素。这就是问题所在。如何解决此问题。您所做的工作的基础是在集合中查找元素。因此,1)需要一种识别集合中某个元素的方法,2)需要一种在集合中移动并将其每个元素的id与您试图查找的id进行比较的方法。应该是非常直接的。最初我不知道单击了哪个元素。想知道矩形索引。但是根据您的想法,单击的元素是圆形的,并且与循环中的子元素不匹配。明白我的问题吗?仅显示循环代码没有帮助。显然,还有其他代码在做您没有解释清楚的事情。你应该发布一个片段或提琴,展示出一个“工作”的例子,说明哪里出了问题。