javascript - 如何从javascript中的html对象访问父文档?

标签 javascript html

这是关于 HTML <object>元素。

<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <title>parent</title>
  <style>
    #square { width:20px; height:20px; background-color: aqua;}
  </style>
</head>
<body>
  <div id="square"></div>
  <object data="child.html" type="text/html" ></object>
</body>
</html>

child.html是:

<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
</head>
<body>
  <button>red</button>
  <button>blue</button>

  <script>
    document.querySelectorAll('button').forEach(bt=>{
      bt.onclick=e=>{
        console.log(e.target.textContent)
        document.parentNode.getElementById('square').style.background = e.target.textContent
      }
    })
  </script>
</body>
</html>

但是我得到了这个错误:

TypeError: document.parentNode is null

那么如何在 JS 中访问 c​​hild.html 中的#square 元素?

最佳答案

试试这个 -

parent.document.getElementById('square').style.background = e.target.textContent

关于javascript - 如何从javascript中的html对象访问父文档?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57497995/

相关文章:

javascript - 使用小时和分钟显示问候语(早上/下午/晚上)

javascript - jQuery 清空错误的 div?

javascript - 无法获取配置 json 文件

javascript - jQuery 动画高度不会每次都切换展开

javascript - 使用另一个帐户重新登录后 2 div 的奇怪行为

javascript - jQuery Datatables - 具有平面数组数据源的 Datatable <td> 中的自定义元素

javascript - 如何找出容器元素内的文本位置?

javascript - 对箭头函数感到困惑

javascript - 获取 anchor 标记内的文本

html - 将溢出设置为隐藏的父项中的 div 下拉