无法读取属性'contentDocument'为null

Cannot read property 'contentDocument' of null

本文关键字:null contentDocument 读取 属性      更新时间:2023-09-26

我有一个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中,我得到一个错误:无法读取null的属性"contentDocument"(匿名函数)n.event.duspatchn.event.add.r.handle

问题出在哪里?

谢谢。

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

var svgobject = document.getElementById('map')

你在这里得到什么回报?svgobject为null吗?因为你的id不是"map"它的"imap"

对于getElementidimap而不是map。。。。