我有一个函数,可以根据输入的内容动态创建div元素,并让他们通过单击每个div来选择某些项目。我拥有它,因此,如果单击div,则会调用一个函数(名为checkToggle
),使它看起来像已被选中并调整了一些相关变量。 div元素中有一个复选框,可通过此功能切换(因此其名称)。长话短说,我不得不跳过一些障碍才能使它正常工作,其中大多数我什至都不记得了。请不要问我。
这个问题的重点是这个。最初,当我单击复选框时,使用以下JavaScript代码运行该函数。它由主要功能分配,该主要功能使用for循环创建了这些div元素。
document.getElementById(`${itemID}-checkbox`).onclick = function() {
checkToggle(`${itemID}-checkbox`);
};
这可行,但是我想尝试将所有onClick函数转换为JQuery。这是我创建的JQuery替代方案。
$(`${itemID}-checkbox`).on(`click`, function() {
checkToggle(`${itemID}-checkbox`);
});
虽然代码本身看起来不错,但是它不起作用。似乎无法在for循环等中创建JQuery函数。它是在元素创建并放置到位后应用的,因此我认为它与元素尚未就绪没有任何关系。我也有其他2个类似案例的相同问题。知道为什么这样不起作用吗?
让我知道是否需要更多信息,如果需要,则需要什么样的信息。
答案 0 :(得分:2)
您需要使用<body>
<div id="main>
<!--Put everything in here-->
</div>
</body>
div#main {
height: 100vh;
background-color: lime; /*Just to see if it works*/
}
字符将选择器更新为目标HTML ID。只需在查询中添加字符:
#
它也同样适用于DOM方法$(`#${itemID}-checkbox`).on(`click`, function() { checkToggle(`${itemID}-checkbox`); });
或querySelector
。
希望有帮助!