2012-08-10 40 views
5

這是我的代碼... append正在工作但刪除不起作用。如何刪除附加的div?使用附加方法去除附加的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

我通過mistake..this寫道DIFF代碼是我的代碼現在..這是行不通的 – user1531746 2012-08-10 12:00:51

回答

5

在HTML處理指定window.close

<a onclick="window.close();">close<a> 

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

否則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(); 

    }); 
});​ 

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


製作,其獲取一個Ajax請求html fi樂要追加:

$.get("myhtml.html", function(html) { 
    $("body").append(html); 
}, "html"); 
+0

嗯,他正在做他的功能... - 對不起,只是讀你的評論,不知道他改變了他的代碼。 – SamiSalami 2012-08-10 11:59:50

+0

這是工作,但你能解釋..如何添加'窗口',使其工作正常? – user1531746 2012-08-10 12:04:48

+0

@ user1531746因爲'window.close'被'Window.prototype.close'遮蔽。避免使用html處理程序的另一個原因是,他們有很多「魔法」。 – Esailija 2012-08-10 12:05:39

1

不知道爲什麼,但通過將另一名關閉功能,而不是關閉(),它的工作原理

<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>