JQuery создать элемент и получить высоту

0

Я создал div в jquery, ширина и высота которого установлены автоматически, и я хотел бы присвоить значение высоты линии.

$('<div>')
    .css({
        'position': 'absolute',
        'left': 0, 'right': 0, 'top': 0, 'bottom': 0,
        'line-height': $(this).height()
    });

Но $(this) является элементом тела, поэтому высота линии - это высота тела.

У кого-то есть решение?

Заранее спасибо!

  • 0
    Пока этот элемент не вставлен в DOM, он не имеет высоты, поэтому ваши предположения неверны. Также обратите внимание, что высота строки задается числом, соответствующим заданному размеру шрифта, если не указана единица измерения, такая как px, em и т. Д.
Теги:

1 ответ

2
Лучший ответ

Вы можете использовать функцию обратного вызова. css метод вызовет функцию, возвращаемое значение функции используется для установки значения свойства:

$collection.css({
    'position': 'absolute',
    'left': 0, 'right': 0, 'top': 0, 'bottom': 0,
    'line-height': function() {
        return $(this).height() + "px";
    }
});

Обратите внимание: поскольку вы не добавили элемент в документ, высота элемента div равна 0, вы должны вызвать метод css после добавления элемента.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню