::before. А чтобы точно все влезало, я обновил codepen.
var desc_short = function () {
jQuery("p.short").text(function(i, text) {
if (text.length >= 30) {
var textTmp = text.substring(0, 50);
var lastIndex = textTmp.lastIndexOf(" "); // позиция последнего пробела
text = text.substring(0, lastIndex) + '<span class="wrap">...'+text.substring(lastIndex, text.length-1)+'</span>'; // обрезаем до последнего слова
}
jQuery(this).html(text);
});
};
$('my-button').click(function() {
desc_short();
});
opacity: 0
div, то все ок. Сама по себе конструкция class="" предполагает, что у дива есть этот атрибут. В противном случае он либо пуст, как я уже привел в примере class="", либо undefined. Ты же не пытаешься обратиться к этому диву и найти у него атрибут, например, data-width или style? Правильно, потому что их у него нет. Поэтому и обращение к просто <div> даст undefined.undefined, а у дивов есть атрибут класса значит, нужно смотреть внимательней. Очень может быть, что ты делаешь выборку не по тем элементам. Проверь конструкцию и связи внутри нее.
// как видно, возвращает только direction
.on('swipe', function(event, slick, direction)
callback_functionи посмотреть, что будет. Например: