Вход

Просмотр полной версии : load и html()


Mafa
10.08.2011, 02:11
Здравствуйте! Скрипты писать не умею категорически, но вот припёрло и пришлось пробовать. Собственно, понадобилось вывести количество созданных тем в конкретном форуме, в информер на главную. Покопалась в справочниках и всё на что меня хватило:

$(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
олько вот... не работает.
Попробуйте вызвать без использования селекторов в конце, то-есть
$("#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 внутри этих объектов не реагирует, и скрипт ошибок не выдает (((