2014-11-03 3 views
0

Я искал какое-то время, но не нашел рабочего решения для своей проблемы (извините, если я искал неправильно) ... Я хотел бы иметь эквивалент следующей функции для элемент загружен с AJAX:jQuery - при загрузке элемента с ajax

$(document).ready(function() { 
    $('.div-modal-text').css("background-color","red"); 
}); 

Поэтому я использую следующий код:

$('#parent_id').on('action', '#id or class to be born', function to be performed()); 

в моем примере родитель-ребенок структура: #projectModals (Div, содержание которых динамически загружен)> .. .>. div-project-description> .div-modal-text

Это переводится в следующий код в моем примере:

$('#projectModals').on('load', '.div-project-description', function() { 
     $(this).find('.div-modal-text').each(function() { 
      $(this).css("background-color","red"); 

    }); 
    }); 

Я знаю, что «груз» не работает с .on(), но я пробовал разные варианты, и я не мог найти что-нибудь работать.

Благодарим за помощь!

EDIT: Вот мой (упрощенный) HTML код:

<div id="projectModals"></div> 

загруженный в #projectModals с Ajax:

 <div class="row"> 
     <div class="div-project-idcard">   
      column 1, don't bother too much about this column    
     </div> 
     <div class="div-project-description"> 
      <div id="summary" class="div-modal-text"> 
      Column2, text 1    
      </div> 
      <div id="purpose" class="div-modal-text""> 
      Column2, text 2 
      </div> 
      <div id="reforestation" class="div-modal-text"> 
      Column2, text 3 
      </div> 
      <div id="certification" class="div-modal-text"> 
      Column2, text 4 
      </div> 
     </div>   
     </div> 
+0

Вы бы поделились своим html-кодом, пожалуйста? –

+0

Вам всегда нужен тот же цвет фона для '.div-modal-text'? если да, почему бы не использовать только CSS? –

+0

Как вы загружаете свой контент в #projectModals, публикуете этот скрипт – SarathSprakash

ответ

0

Если вы ждете, чтобы он был загружен с помощью ajax, используйте вместо этого $(window).ajaxSuccess():

$(window).ajaxSuccess(function(){ 
    $('#projectModals .div-project-description .div-modal-text').each(function() { 
     $(this).css("background-color","red"); 
    }); 
    }); 
+0

скорее '$ ('# projectModals.div-project-description .div-modal-text'). Css (" background-color "," red ")' –

+0

Спасибо, это была опечатка. Исправлено. – Scimonster

0

, что я понимаю, вы хотите изменить цвет фона после выполнения ajax.

Я думаю, что лучше сделать операцию в Ajax успеха

$.ajax({ 
    url: "some url", 
    data: {some data}, 
    success: onAjaxSuccess, 
}); 

, а затем;

function onAjaxSuccess(data){ 
    //.. do things with data 
    var toExecute = $('#projectModals .div-project-description'); 
    toExecute.find('.div-modal-text').each(function() { 
      $(this).css("background-color","red"); 
    }); 
} 
Смежные вопросы