Básicamente, el código crea una especie de "programador" usando JS para una tarea. Pasé horas solucionando problemas por los que el siguiente código no guardaba correctamente la información en el almacenamiento local. Pude aislar el error en una función específica dentro de mi código.
Una vez que hice eso, revisé cada línea de código e intenté todo para ver qué solucionaba el error. Resulta que agregar un espacio antes de textarea en let eventEl = $("#" + rowId + "textarea"); lo arregló por alguna razón.
En otras palabras, let eventEl = $("#" + rowId + " textarea"); funciona bien, pero el anterior no.
¿Alguien puede ayudar a explicar por qué?
Un espacio es el combinador descendiente en CSS. Si no agregó el espacio, estaría buscando un elemento con la identificación de ID de rowId concatenada con "textarea" en lugar de un área de textarea contenida dentro del elemento con la identificación de ID de rowId .
El combinador descendiente, normalmente representado por un carácter de un solo espacio (" "), combina dos selectores de modo que los elementos que coincidan con el segundo selector se seleccionen si tienen un antecesor (padre, padre del padre, padre del padre, etc.) elemento que coincida con el primero selector. Los selectores que utilizan un combinador descendiente se denominan selectores descendientes.