【发布时间】:2015-11-05 23:15:35
【问题描述】:
我需要一种方法来解决这个问题。 live() 在我使用的 jQuery 1.9 中被删除。所以现在我不知道如何动态地将元素添加到文档对象模型树中。
<!doctype html>
<html>
<head>
<meta charset="utf-8">
<title>Trying dynamic adding</title>
<style>
body {
margin:10%;
}
#cool {
border:5px solid red;
}
.fool {
background-color:red;
width:100px;
height:100px;
border:1px solid green;
}
.lol {
background-color:yellow;
}
</style>
<script src="jquery.js"></script>
<script>
$(document).ready(function(){
alert("Application has been started");
$('#hool').addClass("lol");
$('#create').click(function(){
alert("Element created here");
var a=$('#cool');
b="<div class='fool'></div>";
a.append(b);
alert("Element created");
var c=$('.fool');
c.addClass("lol");
});
$('.lol').click(function(){
alert("New elements are good to go");
$('.lol').css("background-color","teal");
});
function hello(){
alert("welcome");
}
});
function hello(){
alert("welcome");
}
</script>
</head>
<body>
<section id=cool>
<button id=create> Create </button>
<button id=hool>Doubt</button>
</section>
</body>
</html>
在这段代码中,问题是当我单击带有 id create 的按钮时,它正在创建带有 fool 类的新部门标签。这仅适用于 css 而不适用于 javascript。例如,ID 为hool 的按钮和使用类傻瓜创建的新部门标签被分配给另一个名为lol 的类。现在,当我单击按钮 $('.lol').click(function) 正在工作时,该按钮正在工作。但是当我按下新创建的标签时,它没有执行该功能。因为按钮是在页面加载时添加的,但是新的 div 标签是使用 append 方法动态创建的。
现在请有人告诉我如何通过单击新的 div 标签来运行$('.lol').click(function)。我目前正在做一个项目,所以请帮忙。
欢迎所有答案。提前致谢。
【问题讨论】:
-
元素创建后绑定handler,看我的回答。
标签: javascript jquery html css scripting