Как я вставляю новую TR в СЕРЕДИНУ HTML-таблицы с помощью JQuery?

Есть два пути. Одним из них является то, что вы можете сохранить заполненный вид рециркулятора даже после перехода к другим фрагментам. Вы можете сделать это, установив ограничение экрана за пределами ViewPager. Параметр Limit - это количество страниц, которые должны быть сохранены по обе стороны от текущей страницы в иерархии представлений в состоянии ожидания.

ViewPager.setOffscreenPageLimit(3) // in this case 3 fragments on either side of the current page will be retained.

Как вы сказали, это может занять много памяти.

Другим способом является размещение кода прокрутки в главном потоке, чтобы у вашего представления переработчика было достаточно времени для инициализации и заполнения элементов.

Выполните следующие действия после настройки данных в адаптере вида переработчика

recyclerView.post(new Runnable() {
    @Override
    public void run() {
        // Call your scrolling code  
        recyclerView.smoothScrollToPosition(adapter.getItemCount() - 1);                                 
    }
});
.
8
задан Howard Pinsley 2 March 2009 в 17:13
поделиться

4 ответа

where_you_want_it.before(newRow)

или

newRow.insertBefore(where_you_want_it)

- MarkusQ

7
ответ дан 5 December 2019 в 06:24
поделиться

Вместо этого:

$("#mytable tbody").append(newRow);

Вы собираетесь хотеть сделать что-то вроде этого:

$("#id_of_existing_row").after(newRow);
5
ответ дан 5 December 2019 в 06:24
поделиться
var newRow = $("<tr>...</tr>");
$("#idOfRowToInsertAfter").after(newRow);

Ключ знает идентификатор строки, Вы хотите вставить новую строку после, или по крайней мере придумывающий некоторый селекторный синтаксис, который получит Вас та строка.

документы jQuery о after()

9
ответ дан 5 December 2019 в 06:24
поделиться

С:

var newTr = $('<tr>[...]</tr>');

Вы можете …

  1. Вставьте его после (или прежде если Вы, так выберите), другая строка, для которой Вы знаете идентификатор (или безотносительно другого свойства):

    $('#<id of the tr you want to insert the new row after>').after(newTr)
    
  2. Вставьте его после конкретного индекса строки (индексы на основе 0, не на основе 1):

    $($('table#<id> tr')[<index>]).after(newTr)
    
  3. … или поскольку Вы упомянули, абсолютная середина возможна:

    var existingTrs = $('table#<id> tr')
    $(existingTrs[parseInt(existingTrs.length / 2)]).after(newTr)
    
5
ответ дан 5 December 2019 в 06:24
поделиться
Другие вопросы по тегам:

Похожие вопросы: