2

我有如下代码,

var contentFrame = window.document.getElementById("globalSearch");
var content = contentFrame.document.getElementById("globalSearch");

有人可以解释一下上面两行之间的区别。在 FF 我收到错误“contentFrame.document 未定义”

我的表格如下所示,

<form id="Search" action="<c:url value="/search" />" method="get">
<input .... />           
<iframe style="visibility : hidden;position : absolute;top : 0; border : 1px solid WindowFrame;"frameborder="0"            src="<c:url value="/search" />"
id="globalSearch" name="globalSearch"></iframe></form>

无论如何我可以摆脱上述错误吗?如果有人给我在 jquery 中适用于所有浏览器的等效代码,我会很高兴。

再次感谢你!


实际上,在我的应用程序中,每个页面都使用了一个模板。模板具有页眉、页脚菜单 html。下面显示的表格在 header.html 中定义

<form id="Search" action="<c:url value="/search" />" method="get"> 
  <input .... />            
  <iframe style="visibility : hidden;position : absolute;top : 0; border : 1px solid WindowFrame;" frameborder="0" src="<c:url value="/search" />" id="globalSearch" name="globalSearch"></iframe>
</form>

这就是代码引用 globalSearch iframe id(考虑为父页面的子元素)的原因,如下所示,

var contentFrame = window.document.getElementById("globalSearch"); 
var content = contentFrame.document.getElementById("globalSearch");                                                    

this->content=$(#globalSearch").contents();在这种情况下工作吗?请说清楚。提前致谢。这是非常紧迫的。请帮忙。

4

1 回答 1

0
var contentFrame = window.document.getElementById("globalSearch");
var content = contentFrame.document.getElementById("globalSearch");

只有第一个陈述是有意义的;第二个依赖于第一个并且会globalSearch在 iframe 中搜索 id globalSearch

顺便说一句,您可以稍微缩短第一条语句:

var contentFrame = document.getElementById('globalSearch')

您无需指定window.

于 2012-06-15T14:30:15.143 回答