2013-04-15 3 views
25

У меня есть код яваскрипта как этотПолучить ссылку на объект окна из йот элемента

var element = $("elementId"); 

я получил ссылку на элемент (который является делами).

Теперь мне нужно получить ссылку на окно, в котором находится этот элемент div. Но проблема в том, что здесь $ передается из другого окна. Итак, теперь элемент находится в другом окне.

Как получить ссылку на этот объект окна, который содержит этот элемент div? Помощь Pls.

+3

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

+0

Я не уверен, о чем вы просите. Можете ли вы объяснить, что для вас «окно»? Однако, если вы запрашиваете родительский элемент этого элемента, то 'element.parent()' будет работать отлично. Ho, и если 'elementId' является id, вы должны написать $ ('# elementId') – Brugnar

+0

@RobW Это потрясающе, я никогда не видел этого раньше. Просто отметьте, из MDN - «Согласно quirksmode, defaultView не поддерживается в 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; 
Смежные вопросы