Не страбатывает строка в коде
Есть кусок jquery плагина
sort: function(ctx){ if(ats){ ats = false; return; } sortField = ctx.data('colkey'); $('.col-head[data-colkey="'+sortField+'"] span').addClass('sort-desc'); if(sortDirect.length<2 || sortDirect == 'ASC'){ sortDirect = 'DESC'; }else{ sortDirect = 'ASC'; } this.loadContent(); }, Здесь не срабатывает данная строка: $('.col-head[data-colkey="'+sortField+'"] span').addClass('sort-desc'); Все переменные имеют нужные данные, проверял. Консоль молчит. Вызывается функция так: onclick="s.sort($(this))" Почему не срабатывает addClass() ? |
Добавь перед этой строкой:
var selector = '.col-head[data-colkey="'+sortField+'"] span'; console.log(selector); console.log(document.querySelector(selector)); |
Вот что говорит консоль:
Цитата:
|
Цитата:
Цитата:
|
Кстати зачем делать запрос через селектор, если ctx - и есть нужный элемент? Или так не всегда?
|
рони,
danik.js, Так класс не добавляется: sort: function(ctx){ if(ats){ ats = false; return; } sortField = ctx.data('colkey'); ctx.find('span').addClass('sort-desc'); if(sortDirect.length<2 || sortDirect == 'ASC'){ sortDirect = 'DESC'; }else{ sortDirect = 'ASC'; } this.loadContent(); }, А так срабатывает: sort: function(ctx){ if(ats){ ats = false; return; } sortField = ctx.data('colkey'); ctx.find('span').addClass('sort-desc'); return; }, Почему? |
Вся суть в этой строке:
this.loadContent(); если ее убрать - то работает Вот сама loadContent: loadContent : function(){ var cpage = parseInt($(curPage).val()), apage = parseInt($(totalPages).html()); if(cpage<1 || cpage>apage){ $(curPage).css('background','#ffb0b0'); return; }else{ $(curPage).css('background','#f5faff'); } $(cList).addLoadImg("Loading..."); $(cList).load(HOST+'load/section/'+TARGET+'/'+SECTION,{page:cpage,instruments:0,sortField:sortField,sortDirect:sortDirect}); }, |
Я нашел ошибку, всем спасибо)
|
Sanu0074,
так наверно ответ с сервера ждать нужно ... :-? |
Часовой пояс GMT +3, время: 16:30. |