2012-09-09 22 views
1

假設您有一個DOM節點,並且您想知道它是否位於iframe中。一種方法是檢查它的父鏈,看看你是否在到達父窗口之前到達了一個iframe。但是,我想知道是否有更快的方法來做到這一點。如何檢查元素是否在iframe中

+0

撥打[小提琴](http://jsfiddle.net)與你的HTML。 –

+0

@SheikhHeera這不會幫助。只要知道我從一個突變事件中獲得了一個隨機DOM節點,並且我想快速知道它是否在iframe中。 – user730569

+0

你想從父頁面檢查節點的存在嗎? –

回答

2

你也許可以檢查節點的ownerDocument property

if(node.ownerDocument !== document) { 
    // node must be inside iframe 
} 
+0

謝謝,是否還有快速獲取其內部iframe引用的快速方法,還是需要迭代所有iframe? – user730569

+1

您可以使用['document.defaultView'](https://developer.mozilla.org/en-US/docs/DOM/document.defaultView)和['window.frameElement'](https://developer.mozilla .org/en-US/docs/DOM/window.frameElement):'node.ownerDocument.defaultView.frameElement'(似乎在IE和下面雖然不起作用)。 –

+0

我的意思是IE 8 .... –