如何获取Object标签的ParentElement?

2023-11-30

我有一个通过对象标签嵌入的 SVG 图形。

<!DOCTYPE html>
<html>
<head>
  <title>myTitle</title>
  <script type="text/javascript" src="script.js"></script>
  <link href="box.css" rel="stylesheet" type="text/css" media="screen" />
</head>

<body>
<div id ="objectcontainer">
    <div id="displaybox" style="display: none;"></div>
    <object id = "mainSVG" type="image/svg+xml" data="map_complete.svg">
     <img id="svgPic" src="map_complete.svg" alt="Browser fail"/>
    </object>
</div>
</body>
</html>

SVG 中有一个链接:

<a id="emerBtn" xlink:href="emergency.html" onmouseover="return playVideo()" target="_parent">

鼠标悬停事件应触发以下事件:

function playVideo(){
    //not working, all the time null
    var doc = document.parentNode;
    var elem = document.parentElement;
    var otherElem = document.documentElement.parentElement;
    //working if triggered from index.html
    var thediv = document.getElementById('displaybox');
    if(wasViewed == false) //show only one time
    {
        if(thediv.style.display == "none"){
            wasViewed = true;
            thediv.style.display = "";
            thediv.innerHTML = "<div id='videocontainer'><video autoplay controls style='display:block; margin-left:auto;" + 
                                "margin-right:auto; margin-top:150px; margin-bottom:auto; width:600px'>" +
                                "<source src='video.mp4' type='video/mp4'>HMTL5-Video not supported!</video>" + 
                                "</div><a href='#' onclick='return palyVideo();'>CLOSE WINDOW</a>";
        }else{
            thediv.style.display = "none";
            thediv.innerHTML = '';
        }
    } //close anyhow
    else{
            thediv.style.display = "none";
            thediv.innerHTML = '';
        }
    return false;
}

我的问题是,我无法从 svg 访问“显示框”。 我尝试了 .parentNode、.parentElement、document.documentElement.parentElement 等。 但父元素/节点始终为空。

有谁知道如何从 object/svg 访问“外部”HTML 元素?


一个 SVG 位于object创建一个嵌套浏览上下文.

要访问该子文档之外的元素,您需要访问父文档:

function playVideo() {
  // ...
  var parentDoc = window.parent.document;
  var displayBox = parentDoc.getElementById('displaybox');
  // ...
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何获取Object标签的ParentElement? 的相关文章

  • 按住鼠标时 JavaScript 重复动作

    是否有一个 JavaScript 函数每隔如此多的毫秒重复一次 以至于按住 html 按钮 如果这可以使用标准 JavaScript 来完成 那就太好了 但使用 jQuery 或 jQuery 插件也很棒 On the mousedown
  • 在 Fabric.js 中进行裁剪的“toDataURL”函数中,Multiplier 属性无法正常工作

    我的原始尺寸canvas is 800X700 我在用clipTo要在画布的选定部分中工作 var rect new fabric Rect left 100 top 50 fill fff width 376 height 602 str
  • 获取 Firebase AngularFire 中项目的索引 ID

    这里提出了类似的问题 但接受的答案并没有真正回答这个问题 使用 AngularFire 是否可以创建关系型数据库 或者访问 UniqueID https stackoverflow com questions 16879484 using
  • 一个输入字段,多个名称

    在 HTML 表单中 如何从一个输入字段获取两个姓名 是否可以通过隐藏的输入字段 如何 我试图使隐藏字段值动态等于非隐藏字段值 这样无论用户写什么 它们都相等 但我确信它不起作用 而不是像这样的东西是否会起作用工作 Here http ww
  • 在 forEach() 中使用 `this` [重复]

    这个问题在这里已经有答案了 免责声明 我正在学习 JavaScript 我有一个像这样的对象构造函数 var Palette function this colors red green blue this getColorCombinat
  • 为什么 Number.isNaN() 对字符串返回 false?

    据我的理解NaN代表Not A Number Strings不是绝对的Numbers因此我希望下面的代码返回true对于字符串 然而 事实并非如此 console log Number isNaN Stack Overflow 有人可以澄清
  • d3 序数尺度的映射

    我正在使用 D3 的序数比例将数字映射到颜色 我用过这个 color d3 scale ordinal range 1f77b4 ff7f0e 2ca02c d62728 9467bd 8c564b e377c2 domain 0 6 co
  • 在 Jscript 中实例化 System.Threading.Thread 对象

    我正在尝试使用 Jscript 创建一个新的 System Threading Thread 对象 但我无法让构造函数工作 如果我只是执行以下操作 var thread new Thread threadFunc function thre
  • empty() 在对象的非空属性上返回 TRUE

    我遇到了一个非常奇怪且意想不到的问题 empty 正在返回TRUE由于我不知道的原因 在一处非空的房产上 class MyObject private property public function construct property
  • 如何列出特定服务器的所有成员?

    我的代码是 const list client guilds find id 335507048017952771 for user of list users console log user 1 username 这实际上没有任何作用
  • 如何在纯 HTML 页面中返回特定的 HTTP 状态代码

    Google 建议当网站暂时不可用时返回 503 HTTP 响应 我有一些纯 HTML 网站 如何在纯 HTML 网站中返回 503 状态 我使用的是带有 Apache 的 Linux 机器 您必须在服务器上而不是在 HTML 文件中设置状
  • EaselJS Alpha 遮罩滤镜

    我对 Canvas 还很陌生 我一直在尝试将图像颠倒过来EaselJS Alpha 蒙版 http www createjs com demos easeljs alphamaskreveal示例 以便初始图像清晰 并且您可以paint是模
  • 如何实现 chromecast 对 html5 播放器的支持

    我使用js和html5设计了一个具有一些自定义功能的html5播放器 现在我需要在html5播放器上添加chromecast选项 例如https raw githubusercontent com kim company videojs c
  • Chrome 和 IE 上的滚动/延迟事件

    我试图让用户始终看到一个内容块 即使他向下滚动页面也是如此 他还应该能够上下滚动内容块 这是一个精简版本的小提琴 向您展示我的意思 http jsfiddle net 9ehfV 2 http jsfiddle net 9ehfV 2 人们
  • 找出对象列表中是否包含具有指定字段值的内容?

    我有一个从数据库收到的 DTO 列表 它们有一个 ID 我想确保我的列表包含具有指定 ID 的对象 显然 在这种情况下创建具有预期字段的对象不会有帮助 因为 contains 调用 Object equals 并且它们不会相等 我想出了这样
  • 如何使 CSS 动画/过渡以固定速度而不是固定持续时间播放? [复制]

    这个问题在这里已经有答案了 我有一个 CSS 动画 可以使元素沿直线移动未定义的距离 据我所知 动画具有固定的持续时间 因此无论元素必须移动多远 动画始终需要相同的时间来运行 我该如何制作才能使动画没有固定的duration 但有固定的运动
  • Twitter 引导选项卡和 JavaScript 事件

    我正在一个项目中使用 twitter bootstrap 特别是它的选项卡功能 http twitter github com bootstrap javascript html tabs http twitter github com b
  • 如何在 HTML 中创建可编辑的下拉列表?

    我想创建一个带有下拉列表的文本字段 让用户选择一些预定义的值 用户还应该能够键入新值或从下拉列表中选择预定义值 我知道我可以为此使用两个小部件 但在我的应用程序中 如果将其统一在一个小部件中会更符合人体工程学 是否有标准小部件或者我必须使用
  • 显示对象内容 - JS/jQuery

    With this data events 返回 object Object 我需要看看里面到底发生了什么 我找到了这个 var Finder each this data events function i n Finder Name i
  • 如何使用 jquery 生成并附加随机字符串

    一般性 我想使用 jQuery 或 javascript 将随机字符串附加到元素的属性 规格 我需要引用 CDN 上的 CSS 文件 不幸的是 每次更新该 CSS 文件时 CDN 都会更改该文件的 URL 所以我不能简单地引用静态 URL

随机推荐