В этом плагине jquery:
http://www.stahs.org.uk/jquery.infinitecarousel.bak
Есть такая строка:
$(obj).append('<div id="textholder'+randID+'" class="textholder" style="position:absolute;bottom:0px;margin-bottom:'+-imgHeight*o.textholderHeight+'px;left:'+$(obj).css('paddingLeft')+'"></div>');
Проблема в том, что когда он сбрасывает текстовый узел в этом div, он выравнивается по верху div. Я хочу, чтобы текст выровнялся по низу div. Поэтому я решил создать еще один div внутри этого div:
$(obj).append('<div id="textholder'+randID+'" class="textholder" style="position:absolute;bottom:0px;margin-bottom:'+-imgHeight*o.textholderHeight+'px;left:'+$(obj).css('paddingLeft')+'"></div>');
console.log($('#textholder'+randID));
$('#textholder'+randID).append('<div style="display:table-cell; height: 94.25px; width: 1000px; vertical-align:bottom;"></div>');
Консоль выводит это:
[div#textholder35196647.textholder]
[div#textholder62315889.textholder]
[div#textholder95654959.textholder]
Тем не менее, мое вышеупомянутое приложение не работает. Вложенный div никогда не появляется, поэтому, когда я позже сделаю это:
if(t != null)
{
$('#textholder'+randID+' div').html(t).animate({marginBottom:'0px'},500); // Raise textholder
showminmax();
}
Текст не становится видимым, потому что вложенный div никогда не создается.
Так что я в замешательстве. Если вы посмотрите на оригинальный плагин, эта строка работает:
$('#textholder'+randID+' div').html(t)
Как он может нацеливаться на правильный div здесь, когда я добавляю его сразу после его создания, он не существует, как вы, ребята, предлагаете?
Это тоже не работает:
var $texthold = jQuery('<div id="textholder'+randID+'" class="textholder" style="position:absolute;bottom:0px;margin-bottom:'+-imgHeight*o.textholderHeight+'px;left:'+$(obj).css('paddingLeft')+'"></div>');
$(obj).append($texthold);
$texthold.append('<div></div>')
Спасибо за ответ.