2013-04-15 119 views
25

獲取窗口對象的參考值I有一個JavaScript代碼這樣從DOM元素

var element = $("elementId"); 

我得到的參考元件(這是一個div)。

現在我需要獲取該div元素所在窗口的引用。但問題是,這裏$是從另一個窗口傳遞的。所以現在元素位於不同的窗口中。

如何獲得包含此div元素的窗口對象的引用?請幫助。

+3

' $(「elementId」)[0] .ownerDocument.defaultView' –

+0

我不確定你在問什麼。你能解釋一下什麼是你的「窗口」嗎?但是,如果您要求獲取元素的父元素,那麼'element.parent()'將會正常工作。 何,如果'elementId'是一個id,你應該寫$(「#elementId」) – Brugnar

+0

@RobW這是真棒,我從來沒有看到過。只要注意,從MDN - 「根據怪異模式,在IE瀏覽器不支持默認視圖,直到IE 9」。 - https://developer.mozilla.org/en-US/docs/DOM/document.defaultView – Ian

回答

56

獲取對DOM節點的引用,使用ownerDocument屬性來獲取該文件的引用,然後讀取其defaultView財產(parentWindow爲IE8-)才能到窗口的引用:

var $element = $('#elementId'); 
var element = $element[0]; 
// Assume that element exists, otherwise an error will be thrown at the next line 
var doc = element.ownerDocument; 
var win = doc.defaultView || doc.parentWindow;