2014-01-09 6 views
1

Добрый день,Добавление DIV в тело iframe

Я пытаюсь добавить тег DIV в тело iframe. Содержимое iframe находится в том же домене веб-сайта, над которым я работаю, поэтому это не должно быть проблемой.

<div id="sampleDIV">whatever</div> 
<iframe id="custom-frame"></iframe> 

И в моем коде яваскрипта, у меня есть:

// load up the the iframe with the data the user selected 
$('#custom-frame').attr("src", "/Custom/Data/" + data.id); 

// I can get find the body tag in the iframe like: 
var iframeBody = $("#custom-frame").contents().find("body"); 

var styleTag = iframeBody.append($('#sampleDIV')); 

* EDITED * Но когда я смотрю на источник, я не вижу, добавил DIV тег. Когда я проверяю элемент в Chrome, я не вижу добавленный элемент DIV.

* EDITED ЧАСТЬ II * я исправил тег из DIV в IFrame

Я не могу видеть, что я делаю не так, может быть, просто глядя на это слишком долго.

ТИА,

Coson

+0

«View Source» в браузерах не будет отображаться динамически вставленные элементы или измененные атрибуты. Он показывает только исходный источник, загруженный с сервера. Если вы хотите увидеть что-либо в DOM, измененном после этого факта, вам необходимо использовать инструменты разработчика браузера. – jmoerdyk

+0

вам нужно дождаться загрузки содержимого iframe –

+0

Я ввел это неправильно. Когда документ загружается, я использую Inspect Element в Chrome для просмотра документа. – coson

ответ

4

Вы можете разместить полный HTML с IFRAME? В приведенном выше примере у вас есть два div и код пытается добавить ко второму div, а не iframe.

Это работает для меня:

<div id="sampleDIV">whatever</div> 
<iframe id="custom-frame" src="page2.html" width="500" height="500"></iframe> 


<script src="http://code.jquery.com/jquery-2.0.3.min.js"></script> 

<script> 
    $(function() { 
     var iframeBody = $("#custom-frame").contents().find("body"); 
     var styleTag = iframeBody.append($('#sampleDIV')); 
    }) 
</script> 
+0

Это * делает * работа. Наверное, я слишком долго смотрел на это. Образец DIV не был в документе, поэтому он не работал. Я думал, что это был. – coson

+0

Life saver .... –

Смежные вопросы