我想在html页面中获取元素,我使用document.elementFromPoint(x,y)来检测输入元素;当没有iframe时,它工作正常。但在iframe中,它在这段代码中不起作用
html如下
我想念一些东西吗?
<html>
...
<div>
<div>
<iframe src="some source"..>
<html>
..
<form>
<fieldset>
<input>
由于
答案 0 :(得分:4)
根据文档here:
“如果指定点处的元素属于另一个文档(例如,iframe的子文档),则返回调用该方法的文档的DOM中的元素(在iframe情况下,iframe本身)。 “
这意味着如果您当前的DOM上下文是iframe的父级,它应该返回iframe。如果iframe来自其他域,您还应该阅读cross domain security issues。
如果它来自您的域,并且您希望获取iframe中的元素,则可以执行以下操作:
var el = document.elementFromPoint(x, y);
if (el instanceof HTMLIFrameElement)
el = el.contentWindow.document.elementFromPoint(x, y); //Not sure if you need to update x, y to account for being inside another dom.
答案 1 :(得分:0)
如果您的iframe与您的网站不在同一个域中,您将无法使用jquery / javascript选择标记