2014-10-10 2 views
1

Делаю страницу с 2 div элементами внутри другой:JQuery - Как получить высоту от ребенка класса

<div id="id" class="class-name"> 
    <div class="child-1"> 

    </div> 
    <div class="child-2"> 

    </div> 
</div> 

Я пытаюсь это JQuery, но это не работает:

$(window).load(function() 
{ 
    $('.class-name').each(function() 
    { 
     var height = $(this).$('.child-1').height(); 
     $(this).$('.child-2').css('top', -height); 
    }); 
}); 

не беспокойтесь об именах классов, которые я использовал загадочные из них здесь

+0

Что это '$ (это) $ ('.child-2') 'и этот' $ (this). $ ('. child-1') '? – melancia

+0

Попробуйте '$ ('# id div'). Height();' –

ответ

4

Используйте JQuery в find() или children() методы:

var height = $(this).find('.child-1').height(); 
$(this).find('.child-2').css('top', -height); 

Или:

var height = $(this).children('.child-1').height(); 
$(this).children('.child-2').css('top', -height); 
+0

Спасибо, это прекрасно! –

+0

@ ZachRoss-Clyne рада помочь! :-) Не могли бы вы отметить это как принятый ответ, когда у вас появится шанс? –

+0

Ждал 15 минут до истечения срока, а затем полностью забыл и вернулся к кодированию! Сделано сейчас :) –

0

Я думаю, вы должны написать это нравится:

$(window).load(function() 
{ 
    $('.class-name').each(function() 
    { 
     var height = $('.child-1',this).height(); 
     $('.child-2',this).css('top', -height); 
    }); 
}); 

Надеется, что это помогает!

0

Попробуйте это,

<div id="parent"> 
<div class="div1"></div> 
<div class="div2"></div></div> 

CSS:
.div1 {высота: 100px;} .div2 {высота: 180px;}.

$("#parent > div").each(function(index,element){ 
    var classnmae=$(element).attr("class"); 

    var height=$("."+classnmae).height(); 

}); 
Смежные вопросы