| 
 $(document).append(data) где найти data ? 
$('body').html($(html_from_ajax).html())
При таком подходе, если контент получен через ajax вызов, не выполняется javascript в нем находящийся. После гугления нашел способ: 
$(document).append($(html_from_ajax).find("#scripts_container"));
$('body').html($(html_from_ajax).html())
Поскольку этот контент может вызываться периодически - будет все время выполняться 
$(document).append($(html_from_ajax).find("#scripts_container"))
,что вобщемто мне и нужно (скрипт каждый раз заново инициализируется). Но куда записывается этот контент. Где его найти, затирается ли старое значение? Или быть может, кто подскажет более изящное решение данного вопроса - При очередной загрузке страницы - выполнение javascript в ней находящегося? p.s мои утверждения в данном посте - не совсем верны. Ошибка немного в другом месте. Смотри далее... | 
| 
 еле догнал в чем вопрос, наверное в силу своей малоопытности... и у меня возникло больше вопросов чем ответов. 1. ты вообще уверен, что код, который ты вставляешь, вообще вставляется? зная контент, можно это проверить (firebugом например), воспользовавшись поиском. 2. append($(html_from_ajax).find("#scripts_container" )) от такого я маненько в шоке, мне всегда казалось, что DOM сначала сформироваться должен, только потом на него подобные методы можно навесить, ну чтож... запомним такой подход. 3. $(html_from_ajax) что это такое? если ссылка на функцию, которая выполняет Ajax запрос, то что в ней .find("#scripts_container") cможет найти? ведь функция как минимум не объект DOM. может есть смысл разбить на составляющие: 1.сначала выполнить функцию ajax запроса и по Callback вставить контент куда надо. пусть будет <div id='html_from_ajax'> 2. собссно применить .find: $('#html_from_ajax').find("#scripts_container") | 
| 
 1. Код вставляется - так как выполняется яваскрипт. 3. html_from_ajax - строка содержащая html код, которая получена от сервера через ajax запрос. Например: 
$.get('server_url', {key1: data1}, function(html_from_ajax) { 
    console.log(html_from_ajax)
})
2. Поэтому можно писать так: 
append($(html_from_ajax).find("#scripts_container" ))
По другому можно было бы написать так: 
var append_data = $(html_from_ajax).find("#scripts_container");
$(document).append(append_data);
Вобщем я так пишу для краткости кода, если это не сильно влияет на читаемость. Думаю у неновичков такая форма записи не вызовет вопросов. Начинающим пожалуй так писать не стоит, и лучше разбивать все действия на части. | 
| 
 Цитата: 
 | 
| 
 Цитата: 
 
var append_data = $(html_from_ajax).find("#scripts_container").html();
Но всеравно сомнения у меня, вроде для find нужен конкретный родитель, типа $("#div_main").find('#div'). надо проверить... с кодом в селекторе-родителе. Цитата: 
 | 
| 
 Цитата: 
 Насчет $("#div_main").find('#div'). попробуй так: 
var test_div = $("<div><div class="wrapper"><div id='find_me'>i am here</div></div></div>")
console.log(test_div.find("#find_me").text()); // должно вывести i am here
 | 
| 
 собственно ответ на свой же вопрос: Например в загруженной страничке есть тег script, - если сделать так: console.log($('body').html()); - то мы получим html докумена в котором будут и теги sript. Если же мы сделаем так: 
var new_html = $("<div><script>alert('it script')</script></div>");
console.log(new_html.html());
то не увидим в выводе тегов script. Вобщем во втором случае jquery выразает тэги script. То же самое произойдет если мы получили какой-либо html средствами ajax. Моей задачей было получить новую страницу с помощью аякс загрузить ее в текущую страницу и выполнить все скрипты которые находятся на загруженной странице. 
$.get('some_url.html', {key: value}, function(new_html) {
    var wrapper = document.createElement('div');
    wrapper.innerHTML = new_html;
    new_html = wrapper;
    $('body').html($(new_html).html());
})
Вот такой хак позволяет сделать так чтобы jquery не вырезал теги script. P.S. Решение моей задачи верное, но предполагаемая причина оказалась ошибочной, см. далее | 
| 
 Цитата: 
 насчет concole.log не в курсе, но если ты вставляешь в див методом html(ajax_строка), к твоему примеру: 
$.get('some_url.html', {key: value}, function(new_html) {
    var wrapper = document.createElement('div');
    wrapper.innerHTML = new_html;
    document.body.appendChild(wrapper);
}, html);
все там обрабатывается, все скрипты, которые в теле, ничего jquery не вырезает. Специально проверял, у меня Аjax запрос грузит PHP скрипт у которого в теле еще 4 Аjax запроса на другие php, работает через $('#some_div').html(response); специально менял на чистый Javascript для innerHTML, все работает, никаких изменений! даже создает и грузит все это дело в созданный див. может ты спутал с функцией Load(), или text() вот они да, никаких скриптов. | 
| 
 еще как вариант, ну уж если ни в какую скрипты в теле не отрабатывают, хотя сами правильны, и в других местах работают, -> попробуй действовать скриптом в теле главного документа. через livequery или delegate. допустим: ajax_строка: <div><div class="wrapper"><div id='find_me'>i am here</div></div></div> в теле главного документа: 
<script>$(".wrapper").livequery(function(){
a=$(".wrapper").find('#find_me').text();
alert(a); //i am here
});</script>
но это конечно применимо токмо в том случае, если у тебя скрипты в теле ajax_строки примерно одинаковые, то бишь какие нить однородные функции. суть: вешаешь эти функции через livequery, они срабатывают сразу при обнаружении Wrapper. естессно, livequery надо скачивать. удобно тем, что для неё не надо указывать обработчик, как в случае с delegate. важна только пара объект.метод, потому при описанной декларации, функция срабатывает СРАЗУ, при появлении объекта в DOM | 
| 
 какая у тебя версий jquery? насколько я помню раньше - у меня тоже все отрабатывало, а теперь перестало. Сейчас у меня jquery 1.7.1 | 
| Часовой пояс GMT +3, время: 19:38. |