Эй, мне было интересно, к чему это относится, в моем случае я думал, что это относится к редактированию моего класса, но я немного запутался, вот мой HTML-код, который я повторяю 3 раза, чтобы получить 3 блога для редактирования
код:
for (var i = 0; i < blogEntries.length; i++) {
if(blogEntries[i]!=null){
var title=blogEntries[i][0];
var content=blogEntries[i][1];
var date=blogEntries[i][2];
var blogID=i;
var blogEdit = '<form><div class="blogContainer" blogID="'+blogID+'">'+
'<div class="blogTitle"><input type="text" value="'+title+'"class="titleInput"></div>'+
'<div class="blogContent"><input type="text" value="'+content+'"class="contentInput"></div>'+
'<div class="blogDate"><input type="text" value="'+date+'"class="dateInput"></div>'+
'<input type="button" value="edit" class="edit">'+
'<input type="button" value="delete" class="delete">'+
'</div></form><br><br><br>';
$("#mainContainer").append(blogEdit);
}
}
Вот моя функция редактирования клика, в которой я не понимаю, почему я использую переменную контейнера, чтобы проанализировать ее в своем селекторе jquery, надеюсь, кто-то сможет меня просветить. Это находится в контейнере переменных, где мы находим blogContainer, но я не понимаю, почему я анализирую это в другую переменную с titleCont, contBlog и dateCont
код
$(".edit").click(function(){
//find the closet blogContainer to .edit
var container=$(this).closest(".blogContainer");
//look for blogid close to .edit .blogcontainer
var editId=container.attr("blogID");
//define val for the three text inputs giving them container variable to find the classes
var titleCont=$(".titleInput", container).val();
var contBlog=$(".contentInput", container).val();
var dateCont=$(".dateInput", container).val();
// First read from local storage. Take empty array as default value
var blogEntries = JSON.parse(localStorage.getItem("BlogContent") || "[]");
// Use editId directly as index.
blogEntries[editId] = [titleCont, contBlog, dateCont];
// Write back to local storage
localStorage.setItem("BlogContent", JSON.stringify(blogEntries));
});