无法读取 null 的 属性 'contentDocument'

Cannot read property 'contentDocument' of null

我有一个 SVG 地图,它在 'object' 标签的帮助下被插入到 HTML 中。然后,我尝试使用 jQuery 来访问地图的元素。 (特别是我尝试用红色填充矩形。)

HTML:

<object data="map.svg" type="image/svg+xml" id="map" width="1840" height="940"></object>

jQuery:

jQuery(window).load(function () {
        var svgobject = document.getElementById('map');
        if ('contentDocument' in svgobject) {
            var svgdom = jQuery(svgobject.contentDocument);
            jQuery("#rect4578", svgdom).attr("fill", "red");
        }
    });

在 chrome 中出现错误:无法读取 属性 'contentDocument' of null (匿名函数) n.event.duspatch n.event.add.r.handle

问题是什么?

谢谢。

您是否仅在 chrome 中收到此错误? 调试代码并查看代码中的这一行

var svgobject = document.getElementById('map')

你在return这里得到了什么? svgobject 是否为空?因为你的 id 不是 "map" 而是 "imap"

对于 getElementidimap 而不是 map...