这是我的代码...追加工作但删除工作无效。如何删除附加的div?
<html>
<head>
<script type="text/javascript">
function view(){
$('body').append('<div class="added"><p>something</p></div>');
};
function close(){
$('.added').remove();
} ;
</script>
</head>
<body>
<a onclick="view();">something</a>
<a onclick="close();">close</a>
</body>
</html>
答案 0 :(得分:5)
在html处理程序中指定window.close
:
<a onclick="window.close();">close<a>
否则close()
引用原生close
方法,该方法不执行任何操作。
以下是使用“javascript”(与内联html属性相对)处理程序来模拟它的方法:
elem.onclick = function(event) {
with(Window.prototype) {
with(document) {
with(this) {
close();
}
}
}
};
这不是完全复制(在IE等中也不起作用,这不是重点)但它会将.close
置于Window.prototype
的全局window.close
之前范围,所以它遮蔽它。您仍然可以使用window.close()
明确引用它。
你也应该完全放弃上面的内容并改用jQuery:
<a id="view">something<a>
<a id="close">close<a>
JS:
$(function() {
$("#view").click(function() {
$('body').append('<div class="added"><p>something</p></div>');
});
$("#close").click(function() {
$('.added').remove();
});
});
发出一个ajax请求来获取要追加的html文件:
$.get("myhtml.html", function(html) {
$("body").append(html);
}, "html");
答案 1 :(得分:1)
不知道为什么,但是通过使用另一个名称来关闭函数而不是close()它可以工作
<html>
<head>
<script src="http://code.jquery.com/jquery-latest.js"></script>
<script type="text/javascript">
function view(){
$('body').append('<div class="added"><p>something</p></div>');
};
function close_it(){
$('.added').remove();
} ;
</script>
</head>
<body>
<a onclick="view();">something<a>
<a onclick="close_it();">close<a>
</body></html>