我正在尝试创建一个用按钮制作的表格,这样我就可以进入地质时间表。我创建了4个带有“level”类的按钮,然后我执行了一个从API返回子项的函数。
关键是该功能第一次工作,但随后它停止为新创建的按钮工作。这是我的代码:
$(".levels").click(function clickLevel(){
var buttonName = $(this).text();
console.log($(this).text());
$.each(JsonObject, function(index,value){
if (buttonName == value.nam){
lvloid = value.oid;
console.log(lvloid);
}
if(lvloid == value.pid){
console.log(lvloid == value.pid);
var button = "<button class=\"btn-flat levels\" style=\"background-color:"+value.col+";\">"+value.nam+"</button>";
$(".conti").append(button);
}
});
});
我想问题是我在函数中创建了类,但我找不到任何其他解决方案(我试图声明该函数,然后在.click事件中调用它,但这甚至都没有工作!)。
谢谢大家!!
答案 0 :(得分:1)
而不是:
$(".levels").click()
使用
$(document).on('click', '.levels', function(){
});
这背后的原因是,$(".levels").click()
在静态dom中搜索,并且您正在动态生成按钮。对于动态内容,使用了$(document).on()
。
答案 1 :(得分:-1)
使用
$(".levels").on('click', function(){
});
而不是
$(".levels").click(function clickLevel(){
});