[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Jquery DOM
Игорь_Vasinsky
Пытаюсь определить как мне достать объект в iframe

Допустим

<iframe src='page.php' name='frame' id='myframe'></iframe>


страница page.php содержит <div id='mydiv'></div>

Попробовал так:

$('#myframe').contents().find('#mydiv').val;


не получил ответ.

Да и если обратно, то есть я хочу получить DOM из iframe в родительском окне, как?



Спустя 10 минут, 35 секунд (18.05.2011 - 19:25) sharki написал(а):
Мне говорили что-то про метод live, почитай может получится

Спустя 5 минут, 2 секунды (18.05.2011 - 19:30) Игорь_Vasinsky написал(а):
wink.gif ща взглянем. отпишусь.

biggrin.gif biggrin.gif biggrin.gif ничего я про не го не понял.. кажется вообще не про это biggrin.gif biggrin.gif

Спустя 6 минут (18.05.2011 - 19:36) ApuktaChehov написал(а):
Дoступ к содержимому iframe можно получить с помощью метода contentDocument, вот так:
iframe.contentDocument.getElementsByTagName('div')[0]

Это и будет ваш див внутри iframe. Но это на JS. Как в JQuery сделать не знаю.

Спустя 5 минут, 49 секунд (18.05.2011 - 19:42) Игорь_Vasinsky написал(а):
а [0] - what is it?

Вот нашёл, что из родительсого окна получить объект из iframe можно так:
$('#iframe').contents().find('#text').val();

но
alert($('#iframe').contents().find('#text').val());

возращает undefined, я так понял - неопределено

Спустя 4 минуты, 43 секунды (18.05.2011 - 19:47) Игорь_Vasinsky написал(а):
Цитата
iframe.contentDocument.getElementsByTagName('div')[0]


error: i dont no - iframe/

Спустя 10 минут, 43 секунды (18.05.2011 - 19:57) ApuktaChehov написал(а):
Игорь_Vasinsky - издеваетесь? iframe - это ваш узел на станице.
Ладно, для самых маленьких:
document.getElementById('myframe').contentDocument


Это вернет вам объект который будет содержать все элементы iframe - а. Дальше делайте шо хотите с ними.

Спустя 1 минута, 59 секунд (18.05.2011 - 19:59) ApuktaChehov написал(а):
Snus, если читаешь. Вот именно о подобных ситуациях я говорил. Полное отсутствие понимания основ.

Спустя 2 минуты, 28 секунд (18.05.2011 - 20:02) ApuktaChehov написал(а):
undefined - переводиться как неопределенный. Это значит что вы пытаетесь получить доступ к объекту которого нет.

Спустя 25 секунд (18.05.2011 - 20:02) Игорь_Vasinsky написал(а):
ну дануда... это JS - не оч люблю. selectors jquery - вот это я юзаю.

Спустя 4 минуты, 5 секунд (18.05.2011 - 20:06) ApuktaChehov написал(а):
Игорь_Vasinsky - скверно.

Спустя 10 минут, 51 секунда (18.05.2011 - 20:17) Игорь_Vasinsky написал(а):
да не. нормально. я вообще был довлен появлением Jquery, и если хочу получить элемент - то использую тока его. на улицах же учимася.

Спустя 4 минуты, 11 секунд (18.05.2011 - 20:21) ApuktaChehov написал(а):
Вы проблему-то решили?

Спустя 5 минут, 42 секунды (18.05.2011 - 20:27) Игорь_Vasinsky написал(а):
;) нет. это уже не проблема, это уже бремя.

даже вот такое нашёл, но не ловит:
$(window.document.frames["frame"].window.document).contents().find("div#text")

Спустя 24 минуты, 40 секунд (18.05.2011 - 20:52) Игорь_Vasinsky написал(а):
ну вот 3 исчника говорят:

$('#iframe').contents().find('#text').html();


чё не работает. х.з.<_<

Спустя 8 минут, 53 секунды (18.05.2011 - 21:01) ApuktaChehov написал(а):
вот:
$('#iframe').load( function(){
alert($(this.contentDocument).find('#mydiv').text());
});

с тебя огромный и жирный плюс. И учить JS и будет тебе счастье.

Спустя 1 час, 36 минут, 12 секунд (18.05.2011 - 22:37) Игорь_Vasinsky написал(а):
Вот смотри:
<iframe id='frame' src='content.php' name='content'><iframe>

content.php:
<div id='text'>1</div>


Пробую:
alert($($('#frame').contentDocument).find('#text').text()); 
alert($($('#frame').contentDocument).contents().find('#text').text());

получаю алерт - пустой, не null, ненеопределнный, а пустой

Спустя 13 минут, 23 секунды (18.05.2011 - 22:50) ApuktaChehov написал(а):
а где load()?

Спустя 2 минуты, 51 секунда (18.05.2011 - 22:53) Игорь_Vasinsky написал(а):
ну я на твоём примере делал, показал так.
$('#frame').load( function(){                    
alert($(this.contentDocument).find('#text').text());
});

$('#frame').load( function(){                    
alert($(this.contentDocument).contents().find('#text').text());
});

Спустя 14 минут, 33 секунды (18.05.2011 - 23:07) Игорь_Vasinsky написал(а):
а как на голом JS в DOM указать положнгие этого div в iframe отерсительно родительского окна?

Спустя 2 минуты, 20 секунд (18.05.2011 - 23:10) neadekvat написал(а):
Цитата (Игорь_Vasinsky @ 19.05.2011 - 00:07)
как на голом JS

*поморщился* на чистом.

Спустя 3 минуты, 2 секунды (18.05.2011 - 23:13) CyberOrcX написал(а):
я не в курсе че надо..

$('#iframe').contents().find('#text').html();

у твоего iframe ID другое вроде
myiframe кажется
и у дива в page.php тоже ID другое
mydiv вроде

соответственно
var divValue = $('#myiframe')
.contents()
.find("div#text")
.html();

alert(divValue);

smile.gif

Спустя 5 минут, 53 секунды (18.05.2011 - 23:19) Игорь_Vasinsky написал(а):
у еня просто JQ c обёрткой оссациируется, но не с грязью wink.gif

CyberOrcX попробую, но вроде этот вариан сёдня заежян.

Спустя 2 минуты, 25 секунд (18.05.2011 - 23:21) neadekvat написал(а):
Свернутый текст
Цитата (Игорь_Vasinsky @ 19.05.2011 - 00:19)
у еня просто JQ c обёрткой оссациируется, но не с грязью

Все говорят "чистый js", а мы опять устраиваем революцию? Разве не режет слух "голый js"? Жесть ведь.

Не могу вспомнить, кто ж против phpdoc выступал недавно..

Спустя 2 минуты, 33 секунды (18.05.2011 - 23:24) Игорь_Vasinsky написал(а):
$('#frame').contents().find("div#text").html();


.text() - пустой алерт
.html() - null
.val() - undefined

neadekvat
Свернутый текст

;) не реаолюцию народ поднимают, а яв последний раз, как и обычно отстаивал свои слова. Чистый - так чистый.

Спустя 6 часов, 45 минут, 9 секунд (19.05.2011 - 06:09) ApuktaChehov написал(а):
Игорь_Vasinsky а у тебя в твоем диве есть что-нибудь?

Прикрепил рабочий код. Чем еще помочь не знаю.

Спустя 5 часов, 6 минут, 1 секунда (19.05.2011 - 11:15) Игорь_Vasinsky написал(а):
Спасиб. Оказывается работает в Google CHrome, не работает в IE

Спустя 6 минут, 22 секунды (19.05.2011 - 11:21) Игорь_Vasinsky написал(а):
во - кроссбраузерный вариант:
    $('#iframe').load( function(){
alert($(this.contentWindow.document).find('#text').text());
});


_____________
HTML, CSS (Bootstrap), JS(JQuery, ExtJS), PHP, MySQL, MSSql, Posgres, (TSql, BI OLAP, MDX), Mongo, Git, SVN, CodeIgnater, Symfony, Yii 2, JiRA, Redmine, Bitbucket, Composer, Rabbit MQ, Amazon (SQS, S3, Transcribe), Docker
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.