JQuery высота () проблема - PullRequest
       16

JQuery высота () проблема

1 голос
/ 18 июля 2010

Это сводит меня с ума, кто-то помогает, потому что я, кажется, не вижу, в чем проблема.

<div id="parent">
   <div id="child"></div>
</div>
<script>
   $('#parent').height(300)

   $('#child').height($('#child').parent().height()-10); //EDITTED LINE
</script>

выше логика того, что мне нужно сделать. Я проверяю html-тег "#parent", он говорит style = "height: 300px;" однако у ребенка есть значение -10 :( должно иметь 290; Я проверил в DOM, значение правильно, я также попробовал .css ('высота') но без удачи. кто-нибудь сталкивался с такой проблемой? если так, то каково решение :) выведите меня из миссионерской просьба

Извините, ребята, это проблема "parent (). Height ()". Смотрите сценарий снова (извините еще раз)

Ответы [ 3 ]

3 голосов
/ 18 июля 2010

.height() будет извлекать его с иногда присоединенным 'px'.Вы должны удалить «px», иначе вы делаете '300px' - 10.Вы можете сделать это следующим образом:

var height = parseInt($('#el').height(),10);

для преобразования его в число.

Таким образом, ваш код должен быть изменен с:

$('#child').height($('#child').parent().height()-10);

to:

$('#child').height(parseInt($('#child').parent().height(),10)-10);

или даже лучше, добавьте кеширование в свой код, чтобы сделать его быстрее! (вам не нужно повторно вводить #child.)

var $child = $('#child');
$child.height(parseInt($child.parent().height(),10)-10);

Вы также забыли точку с запятой в первой строке кода, однако моя связь не имеет.

0 голосов
/ 18 июля 2010

Попробуйте создать переменную до

var childheight = $('#parent').height()-10;
$('#child').height(childheight);
0 голосов
/ 18 июля 2010

Почему бы просто не установить его на 290?

$('#child').height(290);
...