2012-02-05 4 views
7

У меня есть несколько динамически созданных дивы, с теми же элементами внутри:Доступ элементы родительского окна из фрейма (JQuery)

<div id="(dinamic_id_1)"> 
    <div class="(element_1)">Some text here</div> 
    <input class="(element_2)" /> 
    <iframe class="(element_3)" src="form.php?id=(dinamic_id_1)" /> 
</div> 

<div id="(dinamic_id_2)"> 
    <div class="(element_1)">Some text here</div> 
    <input class="(element_2)" /> 
    <iframe class="(element_3)" src="form.php?id=(dinamic_id_2)" /> 
</div> 

... 

И есть форма внутри фрейма, который будет выглядеть примерно так:

<form id="(dinamic_id)" > 
    <input class="(class_input)" /> 
</form> 

И моя JQuery функция:

$(".class_input").change(function() { 
    $(this).closest("form").submit(); 
}); 

Есть другие действия, которые я хочу execut e на представлении в родительском окне, на элементах, содержащихся в div, который имеет тот же идентификатор, что и форма. Я должен получить HTML в пределах родительского DIV, как это:

var parent_div = $("div#"+$(this).closest("form").attr("id"), parent.document); 
alert($(parent_div).html()); 

Но я не могу добраться до элементов внутри DIV, например:

var parent_div = $("div#"+$(this).closest("form").attr("id"), parent.document); 
alert($(parent_div+" .element_1").html()); 

или

var parent_div = $("div#"+$(this).closest("form").attr("id")+" .element_1", parent.document); 
alert($(parent_div).html()); 

Возвращает null вместо «Некоторый текст здесь».

+0

Вы отправили сообщение об ошибке? У вас нет прав на это. – jerone

ответ

2

Попробуйте изменить код на следующее:

var parent_div = $("div#"+$(this).closest("form").attr("id"), parent.document); 
alert(parent_div.children('.element_1').text()); 

я залетела быстрый тест мой конец, и все работало нормально.

Edit: Объяснение

Проблема заключается в том, что вы пытаетесь ссылаться parent_div как строка, когда на самом деле это объект JQuery по себе.

alert($(parent_div + " .element_1").html()); 
//  ([object] + [string] ) 
+0

Глупый мне, вот и все, спасибо! – Sandra

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