这是我的代码:
<!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();
你知道它为什么不起作用吗?为什么我在运行这行代码时无法隐藏元素?
甚至可能吗?
答案 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