外部加载的SVG文件的元素id
ids of elements of externally loaded svg file
我已经将svg文件加载到"g"中,如下(canvas是基于Snap-svg的):
var _i = new Image();
_i.src = 'svgFile.svg';
$(_i).load(function () {
Snap.load(src, function(f){
_imagen = canvas.g(f.select('*'));
canvas.append(_imagen);
});
svg文件(svgFile.svg)包含(除其他外):
<path id="letterN" fill="#FCEA0D" stroke="#000000" stroke-miterlimit="10" d="M606,538 ... z"/>
外部文件添加得很好,我可以在页面中看到它。但是当我在控制台中查找元素(路径)时,我看到它的id ="Shyphnh2b1fg"。这发生在文件中的所有svg元素上。为什么id会改变?更重要的是,怎样才能避免呢?任何帮助将非常感激!
这实际上不是SVG id,所以我怀疑您看错了。
Snap添加了自己的id,如果您查看Chrome Console日志之类的东西,并执行Console .log(someElement),您将看到对象将具有id,但底层SVG元素(可通过someElement访问)。attr或someElement.node),然后显示实际的SVG,单击"attributes",您将看到"id"在那里有原始的。
基本上,你看的是Snap实例Id,而不是svg元素Id它们是分开的东西。下面的代码应该有点帮助
console.log( el );
console.log( el.id ); // snap id, don't often need to use this
console.log( el.attr('id') ); // use this normally, snap access to underlying svg id
console.log( el.node.attributes.id.value ); // actual reference to svg id, should be the same as attr('id')
相关文章:
- 选择不带选择器的元素,仅使用元素ID
- 从元素id中获取值,而不是从javascript中的名称中获取值
- 如何将第二个元素id注入到网站元素中
- 将 JavaScript 元素 ID 传递给 PHP 或 Form Variable
- 如何在 javascript 中将表单中的元素 id 值作为数组传递
- 用于指定元素 ID 的正确 JavaScript 语法是什么
- 如何从 jQuery 中的 ajax 函数中的类访问元素 ID
- JavaScript获取多个已知元素ID
- 使用ng repeat时元素ID重复
- 在使用onblur进行输入评估时,是否可以获得单击对象的元素id
- JQuery通过变量标识元素id:多个表行
- 当元素ID包含美元符号时,Javascript中的getElementByid.当ID包含美元符号时,
- 我得到未捕获的类型错误:无法读取属性'选项'即使定义了元素id,也为null
- 元素id未被接受为函数参数
- 使用jquery获取类元素id
- 如何在没有任何元素id的情况下检索表中的文本内容
- jquery按类确定元素id
- 获取元素ID并传递到函数中
- 使用jquery获取元素id
- JavaScript文档.getElementById(“id”)和元素id属性