2012-11-29 4 views
1

J'essaie simplement de supprimer le pied de page de ma page d'accueil.jquery .remove() ne fonctionne pas comme prévu

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

Il semble que le .remove() fasse plus d'affichage: none; que réellement enlever le noeud du DOM. Lorsque je vois la source de la page, le pied de page existe toujours - et bien qu'il n'affiche pas le contenu, il y a un grand défilement vertical, comme si la hauteur du pied de page s'appliquait toujours.

Je pensais que c'était peut-être dû à l'utilisation de l'étiquette de pied de page au lieu de #footer, mais quand j'ai fait cela, j'ai eu les mêmes résultats.

+0

Est-ce que #footer ont une hauteur déterminée? Pourriez-vous nous donner le code? Il semble qu'un élément ait une hauteur définie, car display: none éliminerait la hauteur de l'élément. – PCasagrande

+2

en supprimant un élément le supprime complètement de la dom. Visualiser la source d'une page ne vous dit pas quels éléments sont ou ne sont pas dans le dom, c'est un instantané de ce que le navigateur a retourné avant que javascript ne le manipule. Plus que probablement votre problème est un problème de CSS et l'élément est correctement supprimé. –

+0

Oui s'il vous plaît fournir tout le code pertinent si possible, par tous les comptes de la méthode remove() devrait supprimer l'élément du DOM, et a dans l'expérience précédente. #footer ne sélectionnerait avec précision que si vous définissez l'attribut id de votre balise footer sur 'footer', pour ce que ça vaut – Michael

Répondre

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

JS:

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

http://jsfiddle.net/9unpH/ voir cette démo. Ça fonctionne bien.

Quand je considère la source de la page le pied de page existe encore

Je suppose que vous usign quelque chose comme un clic droit de la souris -> source de la page, le cas échéant - que tout est correct. Il n'inclura pas les changements effectués par JS, montre simplement ce qu'il obtient du serveur (encore plus - le navigateur peut envoyer une autre requête à un serveur pour obtenir du HTML pour la source de vue).

Essayez d'utiliser des outils de développement pour voir les modifications apportées par JS (F12 dans tous les navigateurs, FF vous devrez peut-être installer Firebug)

il y a un grand défilement vertical, comme si la hauteur du pied est encore en cours d'application.

Supposons que c'est à cause de quelques autres styles sur votre page, non pas à cause de footer

+0

Merci, j'ai remarqué cela en utilisant l'inspecteur de Chrome. Le défilement vertical supplémentaire était le résultat d'un style sur un autre div. Merci encore pour votre aide – user1380540