Как выбрать div внутри iframe? - PullRequest
5 голосов
/ 18 февраля 2012

Я пытаюсь взять содержимое div внутри iframe, удалить iframe и отобразить только div. Я не могу понять, почему это не сработает - я не уверен, использовать ли contentWindow или contentDocument. Любые указатели? Спасибо!

У меня есть один div с идентификатором "iframe", внутри которого iframe с идентификатором "embedded_article",

<script type="text/javascript">

function getContentFromIframe()

{    
var parent = document.getElementById('iframe');
var child = document.getElementById('embedded_article');

var oldContent = child.contentWindow.document.innerHTML;

var newContent = child.contentWindow.document.getElementById('ec-article').innerHTML;

  document.getElementById('iframe').removeChild(document.getElementById('embedded_article'));


parent.innerHTML = newContent;    

}
</script>

Ответы [ 2 ]

2 голосов
/ 18 февраля 2012

Ваш пример:

document.getElementById('iframe').removeChild(document.getElementById('embedded_article'));

Должно выглядеть примерно так:

var element = frames['iframe'].document.getElementById('embedded_article');

element.parentNode.removeChild(element);

window.frames['yourFrameId'] соответствует объекту window, связанному с вашим фреймом. когда вы используете document.getElementById, вы хотите использовать document, принадлежащий вашему фрейму window, а не document в главном окне. Остальное должно быть самоочевидным.

2 голосов
/ 18 февраля 2012

чтобы попасть в div внутри iFrame, вы можете попробовать что-то вроде этого

     var div = document.getElementById("YourIFrameID").contentWindow.document.body.getElementById("YOUR_DIV_ID")
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...