我已经在JavaScript函数中检索了值“ [object SVGCircleElement]”,并希望对此进行解压缩,以便获取有关其ID的更多信息。 它来自我拖拉的香草可拖动函数,因此在这里并不需要它,关键是在endDrag(mouseup)事件上,我有一个包含变量[object SVGCircleElement]
的函数。function endDrag(evt){
alert(selectedElement);
selectedElement = false;
}
这给了我[object SVGCircleElement]
例如,如何获取其ID?
谢谢
也-[object SVGSVGElement]
。当在可拖动元素上单击鼠标时,此对象将传递给函数。 dom中被拖动的元素具有ID和cy,cx和fill等值,我也想检索这些值。
编辑- 多亏了以下答案,我可以使用变量selectedElement和
来获取[object SVGCircleElement]
上的信息
selectedElement.id gets ID
selectedElement.getAttribute("cx")`enter code here` gets the cx (as this is a svg circle)
等
答案 0 :(得分:2)
该字符串只是实际js对象的字符串化。
使用console.log()
而不是alert()
可以看到它。
该对象将公开很多属性,此处不是列出所有属性的地方。但是对于id
,您只需访问其.id
属性即可。
但是请注意,对于SVGElement,某些属性实际上是SVGAnimatedStrings,您需要从中访问它们的.baseVal
属性,或者您可能只想调用Element.getAttribute()
。
const selectedElement = document.querySelector('circle');
console.log('toString', selectedElement.toString());
console.log('.id', selectedElement.id);
console.log('.cx', selectedElement.cx);
console.log('.getAttribute("cx")', selectedElement.getAttribute("cx"));
<svg viewBox="0 0 100 100">
<circle id="my-circle" cx="50" cy="50" r="50"/>
</svg>