是否可以在另一个 javascript 函数中 运行 一个 onclick javascript 函数?

Is it possible to run an onclick javascript function inside another javascript function?

目前正在学习 javascript 并对这种可能性感到好奇。 我在 .JS 文件中有这段代码

var x = document.createElement("IMG");
                    x.setAttribute("src", "helpimage.png");
                    x.setAttribute("width", "20");
                    x.setAttribute("height", "20");
                      x.setAttribute("alt", "help image");
                      x.setAttribute("id","image");
                    var row = document.createElement('div');
                    row.classList.add('row');
                    var label = document.createElement('div');
                        label.id = machineName + '-label';
                        label.classList.add('col-md-5');
                        label.innerHTML = humanName + ':';
                        label.appendChild(x);
                        label.onclick = function() {myFunction()};
                        
                    row.appendChild(label); 

这个名为“MyFunction”的函数

function myFunction() {
    document.getElementById(machineName + '-label').innerHTML = "YOU CLICKED ME!";
  }

这段代码所做的是首先调用一个函数,该函数创建一个带有标签的简单表单元素。我在标签中附上了一张标有“x”的图片。 我希望能够使用 onclick 事件单击该标签,然后将其更改为我想要的任何内容。 (只是在这里测试)

因此,一旦我的第一个函数生成了我的表单,我就想点击我的标签并将其更改为“您点击了我”。

除了我点击图片时没有任何反应。

谁能告诉我我做错了什么?

我要点击的图片。

将要替换的文本放在另一个嵌套元素中,而不是放在还包含图像的元素中。

var x = document.createElement("IMG");
x.setAttribute("src", "helpimage.png");
x.setAttribute("width", "20");
x.setAttribute("height", "20");
x.setAttribute("alt", "help image");
x.setAttribute("id", "image");
var row = document.createElement('div');
row.classList.add('row');
var label = document.createElement('div');
let machineName = "filename";
label.id = machineName + '-label';
label.classList.add('col-md-5');
let humanName = "File Name";
let text = document.createElement("span");
text.id = machineName + "-text";
text.innerHTML = humanName + ':';
label.appendChild(text);
label.appendChild(x);
label.onclick = function() {
  myFunction()
};

row.appendChild(label);
document.body.appendChild(row);

function myFunction() {
  document.getElementById(machineName + '-text').innerHTML = "YOU CLICKED ME!";
}