通过名称获取IFRAME元素不再工作
Get an IFRAME element by name does not work anymore?
我有一个很老的JS在IE8中工作,它是这样做的:
window.document.getElementById("frameModalityList")
这是我想要获取的内容:
<iframe name="frameModalityList" src="iframe_advanced_list.jsp" frameborder="0" marginheight="0" marginwidth="0" class="advanced_list" width="100%" height="300"></iframe>
现在,当我尝试在IE9/10, Chrome,我得到一个错误:
SCRIPT5007:捕获异常发生:无法获取未定义或空引用的属性'contentWindow'
什么是新的正确的方式来获得IFRAME元素?
New EDIT:旧代码可以正常工作,因为旧版本的internet explorer可能存在一些错误(或故意的)
注意在ie浏览器中使用getElementById时id和name属性混淆当使用getElementById通过id属性获取对元素的引用时,Windows的Internet Explorer(以及某些版本的Opera)也会匹配name属性包含相同值的元素。
第一个给定答案:
您正在抓取id
,但您没有在iframe
元素中设置id
window.document.getElementById("frameModalityList")
更改名称属性为id iframe
<iframe id="frameModalityList" src="iframe_advanced_list.jsp" frameborder="0" marginheight="0" marginwidth="0" class="advanced_list" width="100%" height="300"></iframe>
因为你还没有设置id但名称试试这个:
window.document.getElementByName("frameModalityList")
或者将id插入html:
<iframe id="frameModalityList" name="frameModalityList" src="iframe_advanced_list.jsp" frameborder="0" marginheight="0" marginwidth="0" class="advanced_list" width="100%" height="300"></iframe>
window.document.getElementById("frameModalityList")
相关文章:
- CKEditor Widget-阻止编辑可编辑元素本身
- 如何设置html元素填充的动画
- 如何将HTML id分配给元素,以及如何将JavaScript应用于元素
- 使用 jQuery 的 .on 函数如何获取事件的原始元素
- 使用clickToggle并在单击另一个元素时关闭元素
- 单击时将焦点更改为元素
- 表追加而不附加最后一个元素
- 如何在jQuery中获取元素的形式
- 我可以获得相对于被点击元素的确切点击位置吗
- 为什么动画完成后我的元素不再隐藏
- 量角器 StaleElementReferenceError: 元素不再附加到 DOM
- 将参数添加到 d3 拖动行为后,元素不再可拖动
- Watir”;元素不再附加到DOM“;错误
- 通过名称获取IFRAME元素不再工作
- jQuery -当你委托一个事件处理程序时,它是否也会自动从不再匹配的元素中移除自己?
- 如何在不轮询的情况下检测元素何时不再具有影子根
- 清理不再引用且从未添加到文档中的元素
- 可以替代routerState.在angular2中不再存在的父元素
- 停止jQuery悬停效果,当元素不再悬停
- 当使用回调函数时,JavaScript如何从不再在DOM中的iframe访问元素?