2010-07-15 39 views
1

我有有HTML標記添加服務器端生成網頁橫幅一個免費域名網站。此標記位於主外部標記的上方和下方。是否有可能使jQuery在頁面呈現之前去掉它?使用jQuery刪除標記的上方和下方<html></html>

+4

請記住,這可能違反供應商的條款,他們可以刪除自己的帳戶。 – RoToRa 2010-07-15 14:00:12

回答

1

只有當你免費的主機允許(不知道),否則你可以使用remove方法是這樣的:

$('#some_div_id').remove(); 

或者乾脆hide()它:

$('#some_div_id').hide(); 
+1

或者你可以通過讓橫幅得到包括和只是,'$(「#橫幅」)隱藏它們滿足他們的印象。隱藏()'然後他們仍然在DOM,但你不能看到他們。 – 2010-07-15 13:43:44

+0

@DavidYell:是的,這也是另一種選擇。謝謝 – Sarfraz 2010-07-15 13:44:41

+0

公平點,我不認爲它會違反使用條款 - 我會檢查出來。 – Grant 2010-07-15 14:21:02

0

在這裏你去

HTML:

<div>Remove Me</div> 
<div>Remove Me</div> 
<div>Remove Me</div> 
<div>Remove Me</div> 
<div>Remove Me</div> 
<div>Remove Me</div> 
<div>Remove Me</div> 
<div>Remove Me</div> 
<div>Remove Me</div> 
<div>Remove Me</div> 
<div>Remove Me</div> 
<html> 
    <div>Remove Me</div> 
    <body> 
     <p>Keep Me</p> 
    </body> 
    <div>Remove Me</div> 
</html> 
<div>Remove Me</div> 
<div>Remove Me</div> 
<div>Remove Me</div> 
<div>Remove Me</div> 
<div>Remove Me</div> 
<div>Remove Me</div> 

運行此:

$("html div").remove();​ 

結果是:

<html> 
    <body> 
     <p>Keep Me</p> 
    </body> 
</html>​ 

測試用例: http://jsfiddle.net/RJ6qG/

修訂1: http://jsfiddle.net/RJ6qG/1/

+0

我相信格蘭特意思是這樣的:'

To Be Removed
...
To Be Removed
' – jigfox 2010-07-15 13:53:48

+0

您好Jens F,你是對的,那就是我的意思。 – Grant 2010-07-15 14:19:24

+0

沒關係,HTML標籤外面的任何項目都會被帶進內部,並且在您的日誌中觸發錯誤會觸發警告,所以這對您很有用。 dom的工作方式是在dom完成之前,頁面上的任何內容都被包裝在html標籤中。 – RobertPitt 2010-07-15 14:49:02

2

嘗試:

$("html").siblings().hide(); 

$("html").siblings().remove(); 

(編輯:這是不工作...應該在發佈前測試過)

但是:

$("div:last").hide(); 

威爾隱藏DIV在這種情況下:

<html> 
<body> 
    <div>test inside</div> 
</body> 
</html> 
<div>test outside</div> 

這樣你就可以訪問到它們,但它可能是一個小片狀。

+0

原文很可能不起作用,因爲我測試過的IE和Firefox都將div移入了body你可以做簡單的選擇器,比如:first和last來訪問它們。 – Andir 2010-07-15 14:33:04