jQuery - 试图在框架内隐藏元素

时间:2017-05-23 13:36:26

标签: javascript jquery

这是我的代码:

<!DOCTYPE html>
<HTML>
    <head>
  <title>Test 2</title>
  <script src="https://code.jquery.com/jquery-1.12.4.min.js" integrity="sha256-ZosEbRLbNQzLpnKIkEdrPv7lOy9C27hHQ+Xp8a4MxAQ="crossorigin="anonymous"></script>
   </head>


<frameset cols="25%,*,25%">
  <frame src="wishlist.html">
  <frame name="frame1" src="shortcodes.html">
  <frame src="portfolio.html">
</frameset>

</html>

在名称为frame1的框架中,我有一个名为testId的元素。 我想要的是隐藏名称为testId的框架内标识为frame1的元素。

到目前为止,我已经尝试过这个:

$("#testId", $("#frame1").contents()).hide();

你知道它为什么不起作用吗?为什么我在运行这行代码时无法隐藏元素?

甚至可能吗?

1 个答案:

答案 0 :(得分:2)

您的框架名称为:

<frame name="frame1" src="shortcodes.html">

但是你正在寻找一个带有jquery的id。 以这种方式更改HTML

<frame id="frame1" src="shortcodes.html">

或者以这种方式改变你的jquery:

$("#testId", $("[name=frame1]").contents()).hide();

如果这不起作用,请以这种方式访问​​内容:

$($('[name="frame1"]', top.document)[0].contentDocument).find('*').hide();

然后避免使用frameset,因为它已被弃用:

https://developer.mozilla.org/it/docs/Web/HTML/Element/frameset