我面临一个问题,我必须检查是否所有svgs元素(一页上大约15个)都是由图表插件创建的。我不想破解该代码,因为当插件更新时它可能不起作用。我想在jQuery中执行此操作(或者在必要时使用简单的javascript)
所以我基本上想做点什么
$("svg").bind("load", function() {
alert('svg has loaded');
});
但上面似乎没有用。如果我理解正确SVG不是实际dom的一部分,那么那将是问题。有没有办法检查是否已创建SVG?
dom看起来像这样:
<div id="visualizer-100">
<div id="visualizer-101">
<div id="visualizer-102">
当我看到萤火虫或类似物时,我会看到类似的东西:
<div id="visualizer-100">
<div>
<div>
<svg with all its its attributes...>
</div>
</div>
</div>
我想检查SVG是否是&#34;那里&#34;是我想这样做:
var container = document.getElementById('visualizer-100');
var svgText = container.querySelector('svg').outerHTML;
如果没有创建SVG,那么我为svgText获取null。
答案 0 :(得分:1)
尝试收听这些SVG的父元素 然后听取目标负载:
parentElement.bind('DOMNodeInserted',function(event){
alert(event.target + 'inserted');
});
fJSiddle:http://jsfiddle.net/0532h5ey/
对于加载的元素,您应该定位内部SVG节点。