我已经在jquery中编写了这段代码,以便在一些事件之后创建三个元素
$('body').append(
tmp= $('<div id="tmp"></div>')
);
$('<div id="close" />').appendTo("#tmp");
$('<div id="box-results" />').appendTo('#tmp');
Run Code Online (Sandbox Code Playgroud)
这三个元素是正常创建并添加到我的DOM但我想用这样的函数删除它们:
$("#close").click(function(e){
e.preventDefault();
$("#tmp").remove();
//$("#overlay").remove();
});
Run Code Online (Sandbox Code Playgroud)
然后我点击关闭div注意发生!我的代码出了什么问题?
这里是在线示例:mymagazine.ir/index.php/main/detail/36 - 请在网站上找到"这里是jquery问题"的句子,因为网站语言是波斯语
jus*_*ody 11
在将元素插入文档后,需要在#close上添加单击处理程序.
编辑提供所要求的演示; 在ff36中测试:
<html>
<head>
<title>whatever</title>
<style type="text/css">
div {
border: 1px solid black;
padding: 0.3em;
}
</style>
<script type="text/javascript" src="http://code.jquery.com/jquery-1.4.2.min.js"></script>
<script type="text/javascript">
$(document).ready(function ()
{
$('body').append($('<div id="tmp"/>'));
$('<div id="close">click me</div>').appendTo("#tmp");
$('<div id="box-results">contents</div>').appendTo('#tmp');
$('#close').bind('click', function ()
{
$('#tmp').remove();
return false;
});
});
</script>
</head>
<body>
</body>
</html>
Run Code Online (Sandbox Code Playgroud)
编辑
从中更改插件的代码
$.ajax({
...
success: function ()
{
$('<div id="close"/>').appendTo($('#tmp'));
}
});
$('#close').click(function (e) ...);
Run Code Online (Sandbox Code Playgroud)
至
$.ajax({
...
success: function ()
{
$('<div id="close"/>')
.click(function (e) ...)
.appendTo($('#tmp'))
;
}
});
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
9857 次 |
| 最近记录: |