删除使用append方法追加的div

use*_*746 5 javascript css jquery

这是我的代码...追加工作但删除工作无效.如何删除附加的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>
Run Code Online (Sandbox Code Playgroud)

Esa*_*ija 5

window.close在你的html处理程序中指定:

   <a onclick="window.close();">close<a>
Run Code Online (Sandbox Code Playgroud)

http://jsfiddle.net/ZTwd7/1/

否则close()引用本机close方法,它不执行任何操作.

以下是使用"javascript"(与内联html属性相对)处理程序来模拟它的方法:

elem.onclick = function(event) {
    with(Window.prototype) {
        with(document) {
            with(this) {
                close();
            }
        }
    }
};
Run Code Online (Sandbox Code Playgroud)

这是不准确再现(也没有在IE等工作,这不是问题的关键),但它会把.closeWindow.prototype全球面前window.close的范围,所以它阴影.你仍然可以明确地引用它window.close().


您还应该完全删除上面的内容并使用jQuery代替:

<a id="view">something<a>
<a id="close">close<a>
Run Code Online (Sandbox Code Playgroud)

JS:

$(function() {
    $("#view").click(function() {
        $('body').append('<div class="added"><p>something</p></div>');

    });
    $("#close").click(function() {
        $('.added').remove();

    });
});?
Run Code Online (Sandbox Code Playgroud)

http://jsfiddle.net/ZTwd7/5/


发出一个ajax请求来获取要追加的html文件:

$.get("myhtml.html", function(html) {
    $("body").append(html);
}, "html");
Run Code Online (Sandbox Code Playgroud)