2012-11-29 115 views
1

我只是試圖從我的主頁中刪除頁腳。jquery .remove()不按預期方式工作

if (OBJECT.Homepage.isHomePage == true){ 
    jQuery('footer').remove(); 
} 

看來.remove()正在做更多的顯示:none;而不是實際從DOM中刪除節點。當我查看頁面源文件時,頁腳仍然存在 - 雖然它不顯示內容,但是有很大的垂直滾動,就好像頁腳的高度仍在應用。

我認爲這可能與使用頁腳標籤而不是#footer有關,但是當我這樣做時,我得到了相同的結果。

+0

是否#footer的具有高度規定?你能給我們代碼嗎?這聽起來像一些元素有一個高度定義,因爲顯示:沒有人會消除該元素的任何高度。 – PCasagrande

+2

刪除元素完全將其從dom中刪除。查看頁面的源代碼並不會告訴你當前或不在dom中的元素,它是JavaScript處理它之前瀏覽器返回的快照。更可能你的問題是一個CSS問題,元素被正確刪除。 –

+0

是的,如果可能的話,請提供所有相關的代碼,remove()方法應該從DOM中刪除該元素,並具有以前的經驗。 #footer只有在您將頁腳標記的id屬性設置爲'footer'時纔會準確選擇,因爲它值得 – Michael

回答

4
<input type="button" value="remove footer"/> 
<footer>test</footer>​ 

JS:

$("input").click(function(){$("footer").remove();})​ 

http://jsfiddle.net/9unpH/看到這個演示。它工作正常。

當我查看網頁源頁腳仍然存在

我猜你是usign像點擊鼠標右鍵 - >查看網頁源代碼,如果是的話 - 比一切是正確的。它不會包含JS所做的更改,只是顯示它從服務器獲得的內容(甚至更多 - 瀏覽器可能會向服務器發送另一個請求以獲取HTML查看源)。

嘗試使用的開發工具查看由JS所做的更改(F12在所有瀏覽器,在FF您可能需要安裝螢火蟲)

有一個大的垂直滾動,彷彿頁腳的高度仍然是 申請。

想這是因爲你的頁面上的一些其他風格,不會因爲footer

+0

謝謝,我確實使用Chrome的檢查員注意到了這一點。額外的垂直滾動是另一個div的樣式結果。再次感謝你的幫助 – user1380540