Мне нужно установить атрибут узла, который я создал через Javascript. Однако это становится довольно сложным из-за того, где значения находятся в разных функциях по всему сценарию.добавить специальный атрибут динамически созданного узла javascript
У меня есть функция-конструктор:
function Todo(id, task, who, dueDate) {
this.id = id;
this.task = task;
this.who = who;
this.dueDate = dueDate;
this.done = false;
}
Затем я создаю пролетные элементы, которые крепят ToDos:
function createNewTodo(todoItem) {
var li = document.createElement("li");
li.setAttribute("id", todoItem.id);
var spanTodo = document.createElement("span");
spanTodo.innerHTML =
todoItem.who + " needs to " + todoItem.task + " by " + todoItem.dueDate;
li.appendChild(spanTodo);
return li;
}
Тогда я получаю значение из формы на странице, которую я использую, чтобы установить, кто , и задача. И дата, но это немного сложнее, поскольку я в конечном итоге беру это значение позже в своем коде, чтобы получить разницу между сегодняшней датой и датой, которую они ввели.
function getFormData() {
var task = document.getElementById("task").value;
if (checkInputText(task, "Please enter a task")) return;
var who = document.getElementById("who").value;
if (checkInputText(who, "Please enter a person to do the task")) return;
var adate = document.getElementById("dueDate").value;
var reString = new RegExp("[0-9]{4}\\-\[0-9]{2}\\-\[0-9]{2}");
var date = compareDates(date);
var id = (new Date()).getTime();
var todoItem = new Todo(id, task, who, date);
todos.push(todoItem);
addTodoToPage(todoItem);
saveTodoItem(todoItem);
}
Итак, дни - это значение, которое я хочу здесь. Я хочу установить dueDate равными днями, чтобы я мог использовать это значение в innerHTML функции createNewToDo.
function compareDates(date) {
var days = Math.floor(daysCal);
console.log(date);
todoItem.setAttribute("dueDate", days);
if (cdate < date) {
console.log("you have" + " " + days + " " + "more day(s)");
}
else if (cdate > date) {
console.log("you are" + " " + -days + " " + "day(s) overdue");
}
}
Любые идеи по внесению изменений в значение dueDate для стоимости дней?