How to differentiate custom context menu for different node (sharing a same template)

Encounter with a problem with implementing my own custom context menu. Overall, it’s working. But I put a checkbox in the context menu and this context menu is shared for all nodes in the diagram. So every time I checked one check box on a node’s context menu, every other ones are all checked. Is there a way to differentiate them?

Was trying to do something in the HTMLInfo’s show function and this is my code:

const htmlInfo = $(go.HTMLInfo, {
                        mainElement: element,
                        show: (obj, diagram, tool) => {
                            element.style.display = "block";
                            const mousePt = diagram.lastInput.viewPoint;
                            element.style.left = mousePt.x + "px";
                            element.style.top = mousePt.y + "px";
                        }
                    });

Is there a way to access the element’s child (a type checkbox input) and set its checked attribute here?

Can’t you using the normal DOM navigation properties such as element.childNodes or element.firstChild or element.lastChild?