Когда страница загружена, есть 3 списка.Первый содержит активный список, а второй и третий - пустые.При щелчке по активному списку li второй список (ul) заполняется одним элементом li, процесс заполнения автоматически продолжается до третьего списка (по щелчку мыши).Затем, когда нажимается кнопка удаления, оба списка удаляются, и процесс должен работать так же, как описано, но второй список по какой-то причине не заполняется, и все идет к третьему списку.
Я пробовал методы: remove (), empty (), detach (), но ни один из них, кажется, не работает.Также в операторе if я попытался проверить if (typeof ul.lenght === "undefined")
, но даже это не работает.
Также стоит упомянуть в console.log()
при проверке свойства ul.lenght в первый раз, когда оно возвращает 0 и неопределенное значение, и заполняет второй список, нопосле нажатия кнопки удаления он возвращает то же значение, но не заполняет список.
Вот код:
function myf() {
var orig = $("#ori li").length;
if ($("#ori li").length === 0 || typeof orig === "undefined") {
$(document).on('click', '#orglis li', function() {
$(this).remove();
$("#ori").append(this);
});
} else {
$(document).on('click', '#orglis li', function() {
$(this).remove();
$("#zam").append(this);
var lio = document.getElementById("ori").getElementsByTagName("li");
var larr = lio[0].innerText;
var arr = Array.from(document.querySelectorAll('#c>ul>li'), li => (li.textContent));
var tekst = "";
var i;
var j;
for (j = 0; j < arr.length; j++) {
arr[j] = arr[j].trim();
}
for (i = arr.length - 1; i >= 0; i--) {
tekst += larr + ", " + arr[i] + '\n';
}
document.getElementById("tare").innerHTML = tekst;
document.getElementById("imep").value = larr;
});
}
}
Здесь вы можете увидеть демо.
РЕДАКТИРОВАТЬ: Также попытался с externalHTML, чтобы установить ul, как раньше, но все еще не будет работать