javascript - 从 iframe 中的 iframe 获取动态 id
问题描述
我实际上在做一个棘手的任务,我必须创建资源包(它们是网站上的页面),为此我使用 iframe 来显示页面的内容。但是我可以在一个 iframe 中有多个 iframe。
而且我想在 iframe 中的那些 iframe 上传递一些样式,所以我必须针对它们。
我为每个页面都有一个特殊的节点 ID,只允许我返回正文。
所以我的问题是如何在我的 iframe 中定位我的 iframe 的 id,我试图用该行var get_iframe_inside = search_inside.getElementsByTagName("iframe".id);
来修改它的样式。
我知道这条线我没有使用正确的方法,但是我今天早上一直在挠头,找不到方法。
function test(id){
var iframe = window.parent.document.getElementById(id); //select my first iframe
get_iframe_inside(id); //call my function to get the iframe in the iframe
function get_iframe_inside (id){
var search_inside = (iframe.contentDocument) ?iframe.contentDocument : iframe.contentWindow.document;
//My goal is then to modify some properties
var get_iframe_inside = search_inside.getElementsByTagName("iframe".id);
$(get_iframe_inside).css({'padding':'0px 50px', 'background-color':'#cecece'});
}
}
解决方案
好吧,我的代码几乎可以正常工作,这有点微不足道,我只是不知道如何获取这些 ID。我只需要通过标签获取它们,然后使用 for 进行迭代。
var get_iframe_inside = search_inside.getElementsByTagName("iframe");
var i;
for (i = 0; i < get_iframe_inside.length; i++){
get_iframe_inside[i].style.padding='0px 50px';
推荐阅读
- angular - Angular 6 迁移 -.angular-cli.json 到 angular.json
- f# - 为什么 dotnet-fantomas 需要 FSharp.Core,Version=4.4.1.0?
- c++ - 插入指针数组删除先前的结果
- javascript - 在注入大部分html期间Angular2中的微调器
- javascript - 在外观不起作用的js中添加onlick事件侦听器
- c# - 为什么 LINQ 不喜欢内联日期计算?
- java - Java 1.8 和 tomcat 6.0.53 原因:java.io.EOFException:SSL 对等体错误关闭
- python - 使用 Django rest framework 3.6.2 和 python 3 连接到 Couchdb
- python - 在使用 **kwargs 时分配 *args
- angular - 从一个组件到另一个组件的角度路由