Окно ajax не работает, когда тег глубоко вложен в DOM
Я борюсь с окном ajax, открывающимся в глубоко вложенном DOM. Я не так хорош в jquery, поэтому я пытаюсь найти помощь здесь. Предполагается, что jWindow при нажатии открывает новое окно с ajax-контентом. Для тестирования я поставил ссылку под первым DIV. ЭТО РАБОТАЕТ ИДЕАЛЬНО!!! Затем я добавил код, чтобы сгенерировать TABLE с одним столбцом с Number, содержащим один и тот же a-тег в качестве теста сверху. ЭТО НЕ РАБОТАЕТ.
Вот копия DOM(я поместил горизонтальные правила вокруг двух a-тегов, чтобы их было легче найти):
<div id="content">
<p>
<a class="get_detail_bill_window" bnr="177" shop="2" href="#">Text Ajax</a>
</p>
<div id="form_selection">
<div class="ui-widget ui-widget-content ui-corner-all" style="padding: 5px; font-size: 1em; width: 1200px;">
<div class="t_fixed_header_main_wrapper ui-widget ui-widget-header ui ui-corner-all">
<div class="t_fixed_header_caption ui-widget-header ui-corner-top">
<div class="t_fixed_header_main_wrapper_child">
<div class="t_fixed_header ui-state-default ui" style="border: medium none; font-weight: normal;">
<div class="headtable ui-state-default" style="margin-right: 15px;">
<div class="body ui-widget-content" style="height: 340px; overflow-y: scroll;">
<div>
<table id="atcs_sort" style="width: 1182px;">
<colgroup>
<tbody>
<tr>
<td class="ui-widget-content">2011-10-16</td>
<td class="numeric ui-widget-content">
<a class="get_detail_bill_window" bnr="341" shop="2" href="#">341</a>
</td>
<td class="numeric ui-widget-content">02:25:08</td>
<td class="numeric ui-widget-content">2011-10-16</td>
Если вы посмотрите на эти 2 якоря, они абсолютно одинаковы. Но тот, который вложен в DOM, не хочет работать.
Вот код готового документа:
$(".get_detail_bill_window").on({
click: function() {
var shop=$(this).attr('shop');
var bnr=$(this).attr('bnr');
alert("bin im Click - Shop: "+shop+" Billnr: "+bnr);
var a = $.jWindow
({
id: 'detail_bill',
title: 'Details of Bill-Nr.: '+bnr,
minimiseButton: false,
maximiseButton: false,
modal: true,
posx: 450,
posy: 50,
width: 700,
height: 200,
type: 'ajax',
url: 'sge_detail_bill.php?s='+shop+'&bnr='+bnr
}).show();
a.update();
}
});
Я попытался это, чтобы увидеть, если у селектора может быть проблема:
var pars = $(".get_detail_bill_window");
for( i=0; i<pars.length; i++ ){
alert("Found paragraph: " + pars[i].innerHTML);
}
Но я нашел все (верхний образец и вложенные) a-тегов с этим классом. Итак, я полностью потерян и отчаялся. Не знаю, почему эти вложенные ссылки не работают.
Если у кого-то есть решение, я был бы очень признателен.
Большое спасибо заранее, Джо
1 ответ
Какой твой вопрос задан коротко? перефразировать плз. но в случае, если я правильно понял, вы хотите зациклить все элементы в вашем DOM, скажем, php сделал его похожим на <.div id = 'foo'> <.ul> <.li><. span id = 'foo1' ><./ span><. span id = 'foo2'><./ span><./ li> <.li><./ li> <.li><./ li> <./ ul> <. / DIV>
и для доступа к каждому из внутренних элементов выполните $('#foo foo1').click(function(){// обработчик в $('#foo #foo1').parent().each(function(){// получить доступ к элементу, вернуться к li, просмотреть все из них $('#foo2',this).show();// по щелчку foo1, foo2 покажет (как пример) }); },function(){// обработчик из $('#foo #foo1').parent().each(function(){ $('#foo2',this).hide(); }); }); надеюсь, это поможет несколько