使用 Snap.vg 获取 <use> svg 的内容
Get content of <use> svg using Snap.vg
我想问一下 select <use>
和 Snap.svg 正在处理的 svg 元素的内容,如果可以,你是怎么做的。
SVG 文件内容
<svg xmlns="http://www.w3.org/2000/svg"
xmlns:xlink="http://www.w3.org/1999/xlink" version="1.1" x="0px" y="0px" xml:space="preserve">
<g id="contacts_mail_icon">
<path d="M7,7L5.268,5.484L0.316,9.729C0.496,9.896,0.739,10,1.007,10h11.986c0.267,0,0.509-0.104,0.688-0.271L8.732,5.484L7,7z"/>
<path d="M13.684,0.271C13.504,0.103,13.262,0,12.993,0H1.007C0.74,0,0.498,0.104,0.318,0.273L7,6L13.684,0.271z"/>
<polygon points="0,0.878 0,9.186 4.833,5.079 "/>
<polygon points="9.167,5.079 14,9.186 14,0.875 "/>
</g>
</svg>
HTML
<svg version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"
x="0px" y="0px"
width="30px" height="30px" viewBox="0 0 14 10"
enable-background="new 0 0 14 10" xml:space="preserve"
fill="#6e6e6e"
class="do-animate-mail-icon"
>
<use class="do-animate-mail" xlink:href="path_to_sprite.svg#contacts_mail_icon"></use>
</svg>
我前几天也有过类似的事情....其实a的内容是shadow dom,或者说是a link到元素的内容吧指的是。使用本身被视为组元素。
回答你的问题:我不知道snap.svg怎么办,你只需要取use的href属性的值,里面就是原来的id元素,您可以获得并访问其内容。
在您的情况下,您需要加载 sprite svg,从中创建一个文档,并在该文档中查询您要查找的 ID...
编辑
嗯,这可能有帮助: instanceRoot
属性...
我想问一下 select <use>
和 Snap.svg 正在处理的 svg 元素的内容,如果可以,你是怎么做的。
SVG 文件内容
<svg xmlns="http://www.w3.org/2000/svg"
xmlns:xlink="http://www.w3.org/1999/xlink" version="1.1" x="0px" y="0px" xml:space="preserve">
<g id="contacts_mail_icon">
<path d="M7,7L5.268,5.484L0.316,9.729C0.496,9.896,0.739,10,1.007,10h11.986c0.267,0,0.509-0.104,0.688-0.271L8.732,5.484L7,7z"/>
<path d="M13.684,0.271C13.504,0.103,13.262,0,12.993,0H1.007C0.74,0,0.498,0.104,0.318,0.273L7,6L13.684,0.271z"/>
<polygon points="0,0.878 0,9.186 4.833,5.079 "/>
<polygon points="9.167,5.079 14,9.186 14,0.875 "/>
</g>
</svg>
HTML
<svg version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"
x="0px" y="0px"
width="30px" height="30px" viewBox="0 0 14 10"
enable-background="new 0 0 14 10" xml:space="preserve"
fill="#6e6e6e"
class="do-animate-mail-icon"
>
<use class="do-animate-mail" xlink:href="path_to_sprite.svg#contacts_mail_icon"></use>
</svg>
我前几天也有过类似的事情....其实a的内容是shadow dom,或者说是a link到元素的内容吧指的是。使用本身被视为组元素。
回答你的问题:我不知道snap.svg怎么办,你只需要取use的href属性的值,里面就是原来的id元素,您可以获得并访问其内容。
在您的情况下,您需要加载 sprite svg,从中创建一个文档,并在该文档中查询您要查找的 ID...
编辑
嗯,这可能有帮助: instanceRoot
属性...