В своем коде я проверяю div на наличие высоты больше 50px. Я хочу добавлять к нему класс и элемент(видно в коде), если он выше и использую для этого this.
Вот сам код:
if ($('.reviewer-text').height() > 50) {
$(this).addClass('fullHidden');
$(this).after('<div class="reviewer-text-open">Читать дальше</div>');
}
Консоль выдает ошибку Uncaught TypeError: Cannot read property 'createDocumentFragment' of undefined
Как я понимаю, в this не попадают элементы, которые подходят условиям и он попросту пустой. Возможно this не применим к if/else? Буду рад любой помощи!
UPD:
Нашел решение:
$(".reviewer-text").each(function(){
var _self = $(this);
if (_self.height() > 50){
_self.addClass('fullHidden');
_self.after('<div class="reviewer-text-open">Читать дальше</div>');
}
});
createDocumentFragment? – Алексей Шиманский Jan 16 '21 at 17:28Возможно this не применим к if/else--- если он не в каком-либо методе jquery или его колбэке, то да, не применим. Надо посмотреть контекст применения – Алексей Шиманский Jan 16 '21 at 17:36$(this)- по задумке должен указывать на$('.reviewer-text')? Не хватает данных и контекста – Алексей Шиманский Jan 16 '21 at 17:45fullHiddenко всем.reviewer-text, которые выше50px. Код не находится ни в чем, простая проверка – Mihail Shulezhko Jan 16 '21 at 17:47