Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/88.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/joomla/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript/Jquery从子文档中访问iframe中的元素属性_Javascript_Jquery_Iframe - Fatal编程技术网

Javascript/Jquery从子文档中访问iframe中的元素属性

Javascript/Jquery从子文档中访问iframe中的元素属性,javascript,jquery,iframe,Javascript,Jquery,Iframe,我正在尝试创建一个web应用程序,它可以显示许多歌曲的和弦图。在单独的选项卡上,每个iframe都有自己的iframe。我正在使用jquery库。 每个图表都使用ajax查询数据库以获取数据以显示内容。它计算页眉高度、页脚高度、页面高度和宽度等指标,以便分页。javascript是从iframe中运行的,而不是从父级运行的 当我将一个页面作为普通网页加载时,弦图页面会自动运行。但是一旦我在iframe中打开页面,页面就无法正确显示,因为我无法计算页面上的度量。似乎有些属性是未定义的 我使用以下代

我正在尝试创建一个web应用程序,它可以显示许多歌曲的和弦图。在单独的选项卡上,每个iframe都有自己的iframe。我正在使用jquery库。 每个图表都使用ajax查询数据库以获取数据以显示内容。它计算页眉高度、页脚高度、页面高度和宽度等指标,以便分页。javascript是从iframe中运行的,而不是从父级运行的

当我将一个页面作为普通网页加载时,弦图页面会自动运行。但是一旦我在iframe中打开页面,页面就无法正确显示,因为我无法计算页面上的度量。似乎有些属性是未定义的

我使用以下代码从iframe中获取图表上的“page”元素(作为示例)

var x = window.parent.document.getElementById("iframe2");
if (x)  {var s = $(x).contents().find('#page'+ pagecounter) ;}
if (s) alert ($(s).attr("id"));
正确识别“s”,并正确显示其id。所以我知道选择了正确的元素

然而,(作为几个例子)

当网页加载到iframe之外时,这些都是正确的。我尝试了我发现的与这个问题有关的所有方法,但没有一个解决方案是有效的


感谢您的帮助。

我正在将所有内容加载到jquery ui选项卡中,在您单击该选项卡之前,该选项卡是一个隐藏的div。因此它被创建但没有显示,因此无法确定指标

调用
.offset()
.css()
的目的是什么?我在图表上模拟了页面。所以,为了确定我能在一个页面上得到多少行,我询问了其他元素,看看我在一个“页面”上有多少空间。例如,使用.css()我可以设置边距和填充。偏移量允许我检查高度。我会遇到这么多麻烦,这样我可以为不同的设备和屏幕方向设置页面。查询的CSS属性的值设置在哪里?不确定是什么问题?我正在使用“if(s)alert($(s).attr(“id”);”来测试哪些度量没有被处理。[警报($(s).offset().top)=0//当它应该是5警报($(s).offset().left)=0//不应该是警报($(s).css('padding-top'))//未定义。]为什么您希望
$(s).offset().top
等于
5
$(s).offset().top = 0 //when it should be 5
$(s).offset().left= 0 // should not be
$(s).css('padding-top') //is undefined.