У меня есть эта Javascript функции, скрыть столбец из таблицы:Javascript функция работает только отладка
function hideColumn (name) {
column = $("#taula-thead td:contains("+name+")")[0].cellIndex;
$("#taula-thead td:contains("+name+")").hide();
$("#taula-tbody td:nth-child("+(column+1)+")").hide();
}
Таким образом, когда нагрузка на странице, другая функцию чтения печенья, чтобы увидеть, какие столбцы должны скрывать и вызывает эту функцию для каждой из этих столбцов. Но функция только скрывает эту часть.
Я отлаживаю его и ... код работает, когда я его отлаживаю. Поэтому, хотя, возможно, проблема заключалась в том, что она выполняется слишком быстро или что-то еще, и помещает функцию в setTimeout. Но он тоже потерпел неудачу. Наконец, я попробовал написать это так: $("#taula-thead td:contains("+name+")").hide() && $("#taula-tbody td:nth-child("+(column+1)+")").hide();
, но ... он также терпит неудачу.
Итак ... Я не могу отлаживать код, потому что он работает с отладкой, и я даже не уверен, в чем проблема.
Update
Я выяснить проблему, но не является хорошим решением. Я выполняю эту функцию сразу после другой функции, которая вставляет много строк. Похоже, когда javascript выполняет это, строки еще не обнаружены, поэтому он скрывает только часть thead.
Если я положил функцию внутри setTimeout с задержкой 50 мс, она работает. Если он имеет 30 мс, он работает иногда. Если он имеет 10 мс, он никогда не работает. Я ищу способ узнать, когда новые строки правильно настроены, а затем выполнить эту функцию.
Только что попробовал, не работает – Aleksandr
@Aleksandr Post некоторые HTML-код! –
@Aleksandr Смотрите фрагмент выше, ваш код работает отлично! –