Атрибут contenteditable
может сделать любой элемент редактируемым. Используя jQuery, мы можем условно добавить его к желаемому элементу. Вот код
$(function(){
$(document).on('click','.my-row .col-a3',function(){
let editable = $(this).prev('.col-a2').attr('contenteditable');
if(editable){
$(this).text('edit');
$(this).prev('.col-a2').removeAttr('contenteditable');
}
else{
$(this).text('save');
$(this).prev('.col-a2').attr('contenteditable','true');
}
})
});
<script
src="https://code.jquery.com/jquery-3.5.1.min.js"
integrity="sha256-9/aliU8dGd2tb6OSsuzixeV4y/faTqgFtohetphbbj0="
crossorigin="anonymous"></script>
<div class = "row my-row">
<div class = "col my-col col-a1"> 9am </div>
<div class = "col my-col col-a2"> write </div>
<div class = "col my-col col-a3"> edit </div>
</div>