$ (тело) внутри фрейма - PullRequest
       3

$ (тело) внутри фрейма

2 голосов
/ 09 августа 2011

Допустим, у меня есть страница iframe (iframe.html). Внутри этой страницы у меня есть скрипт $ (тело) или $ (документ). Теперь я хотел понять, что это представляет?

Это относится к телу iframes или основному телу страницы? Если он представляет главную страницу, как мне сделать так, чтобы она ссылалась на iframe?

Ответы [ 4 ]

5 голосов
/ 09 августа 2011

Чтобы найти элемент без iframe, попробуйте

$("iframeSelector").contents().find("#element_in_iframe").click(function(e){ 
   alert(1); 
 });
3 голосов
/ 09 августа 2011

$('body') и document относятся к документам iframe.

  • На странице инкапсуляции используйте this для доступа к содержимому iframe с помощью селекторов jQuery.

  • В пределах iframe, window.parent может относиться к инкапсулирующей странице.

0 голосов
/ 09 августа 2011

Это относится к телу в стороне вашего КАДРА.jQuery всегда будет работать в контексте текущего (первого родительского) документа.Если вы хотите указать другой контекст, то есть когда вы используете аргументы контекста jquery.

http://api.jquery.com/jQuery/#jQuery1

jQuery (селектор, [контекст]) селектор: строка, содержащая контекст выражения селектора: Элемент DOM, документ или jQuery для использования в качестве контекста

Таким образом, $('body') ссылается на документ внутри вашего IFRAME и может неявно выполнять: $('body', document); Чтобы получить документ родительского фреймавам придется сделать что-то вроде $('body', parent.document);.Это, конечно, будет зависеть от кросс-кадровых ограничений, в зависимости от того, как вы это делаете.

0 голосов
/ 09 августа 2011

Если вы находитесь внутри iframe:

$(body) и $(document) будут ссылаться на документ, содержащийся в iframe, и, как правило, будут не знать о родительской странице.

Если вам нужен доступ к внешней странице из iframe:

Вы можете использовать window.parent для доступа к странице, содержащей iframe, если это необходимо.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...