Javascript-форум (https://javascript.ru/forum/)
-   jQuery (https://javascript.ru/forum/jquery/)
-   -   load и html() (https://javascript.ru/forum/jquery/20572-load-i-html.html)

Mafa 10.08.2011 02:11

load и html()
 
Здравствуйте! Скрипты писать не умею категорически, но вот припёрло и пришлось пробовать. Собственно, понадобилось вывести количество созданных тем в конкретном форуме, в информер на главную. Покопалась в справочниках и всё на что меня хватило:
$(document).ready(function() {
     var kol = $("td.threadsDetails b:first-child").load("http:/.../forum/2");
 $("td.krtkol").html(kol);
 
});


Но содержимое ("td.threadsDetails b:first-child") не выводится в информере. Такое чувство, что где-то в "var kol =..." не хватает html(), но где??? Куда его приписать ума не приложу! Помогите чайнику. :cray:

devote 10.08.2011 04:08

читайте документацию корректнее http://api.jquery.com/load/
метод .load() в качестве возвращаемого аргумента возвращает jQuery прототип. НЕ загруженный html, загруженный html она помещает в объект на котором был вызван метод.
$(function(){
    $("#td.krtkol").load("/forum/2 td.threadsDetails b:first-child");
});

Mafa 10.08.2011 12:27

devote, спасибо, что объяснили. :) Только вот... не работает. :cray:

devote 10.08.2011 12:33

Цитата:

Сообщение от Mafa
олько вот... не работает.

Попробуйте вызвать без использования селекторов в конце, то-есть
$("#td.krtkol").load("/forum/2");

если сработает, значит он не может сделать выборку по селектору так как не находит ничего совпавшего. Если же все же ничего не выдаст, тогда возможно указана неверно ссылка, отсутствует ресурс, запрос заканчивается ошибкой. Либо контейнер не существует в который вы помещаете содержимое.

Я же всех картины не вижу, поэтому причин может быть уйма.

Mafa 10.08.2011 12:34

Ой! Работаетттт!!!! Просто я не id задавала, а класс. Решётку надо было убрать из того варианта, который Вы мне дали. Спасибооо!!!:dance:

devote 10.08.2011 12:37

ну да я тоже не идеал, тоже ошибаюсь... =)

e-do 11.10.2011 19:22

возник похожий вопрос, но чуть запутаннее , не смог разобраться. объект на котором был вызван метод не статичный а генерируется тоже js скриптом. Вместо объекта вешаю переменную, не срабатывает, как быть?
вот часть кода
var cid = 'div.cid' + randNumOld[i] + ' a.poster';
 var title = 'div.cid' + randNumOld[i] + ' span.lastepizode';
 $(cid).load("uCatsOut[randNumOld[i]][5] #allEntries > div:first-child img");
 $(title).load('uCatsOut[randNumOld[i]][5] #allEntries > div:first-child eTitle a');
 };

DjDiablo 11.10.2011 23:30

uCatsOut[randNumOld[i]][5] - я так понимаю это путь к страничке
$(cid).load(uCatsOut[randNumOld[i]][5]+" #allEntries > div:first-child img");
$(title).load(uCatsOut[randNumOld[i]][5]+' #allEntries > div:first-child eTitle a');

e-do 12.10.2011 00:44

DjDiablo да, спасибо :) , правильно понимаете, затупил)). только все равно не получается. Дело в том что объекты указанные в переменной тоже генерируются скриптом, может поэтому не срабатывает? вот полный код. вывожу уже с исправлением
var uCatsOut=[//['ID','ParentID','isSection','Name','Descr','URL','NumEntries']
['7','1','0','тратата1','','http://mysite1','0'],
['8','1','0','тратата2','','http://mysite2','5'],
['10','1','0','тратата3','','http://mysite3','0'],
['11','1','0','тратата4','','http://mysite4','0'],
['12','1','0','тратата5','','http://mysite5','1'],
['13','1','0','тратата6','','http://mysite6','0'],
['22','1','0','тратата7','','http://mysite7','0']
];
var randNum;
var randNumOld = [];

function getRandomInt(min, max){
  randNum = Math.floor(Math.random() * (max - min + 1)) + min;
  if(randNumOld){
   for(k = 0; k < randNumOld.length; k++){
    if(randNum==randNumOld[k]){
     getRandomInt(min, max);
    }
   }
  }
  return randNum;
}
 
$(document).ready(function(){
 for(i=0; i<6; i++){
  $('div.serial tr').append(function(){
   randNumOld[i] = getRandomInt(0, uCatsOut.length-1);
   var k = '<td><div class="infotdcontent cid';
   k += randNumOld[i];
   k += '"><a class="poster" href="';
   k += uCatsOut[randNumOld[i]][5];
   k += '"></a><h3>';
   k += uCatsOut[randNumOld[i]][3];
   k += '</h3><span class="lastepisod"></span><a class="download" href="';
   k += uCatsOut[randNumOld[i]][5];
   k += '#for_dnld" title="Скачать ';
   k += uCatsOut[randNumOld[i]][3];
   k += ' бесплатно">Скачать</a></div><div class="infotdbottom"></div></td>';
 return k;
   });
   var cid = 'div.cid' + randNumOld[i] + ' a.poster';
   var title = 'div.cid' + randNumOld[i] + ' span.lastepizode';
   $(cid).load(uCatsOut[randNumOld[i]][5] + " #allEntries > div:first-child img");
   $(title).load(uCatsOut[randNumOld[i]][5] + " #allEntries > div:first-child eTitle a");
  };
 });


получается, объекты норм выводятся, а вот генерация с помощью load внутри этих объектов не реагирует, и скрипт ошибок не выдает (((


Часовой пояс GMT +3, время: 23:42.