5 votes

Conflit jQuery lors de la suppression d'une div après le chargement de la page

J'essaie de supprimer une div de la page (de préférence en l'empêchant de se charger). mais pour l'instant je me contente de l'enlever après le chargement de la page.

Lorsque j'essaie les lignes de code suivantes dans jsFiddle , le #content est supprimée, comme prévu.

<script type='text/javascript'>//<![CDATA[ 
  $(window).load(function(){
      $('#content').remove();
  });//]]>  
</script>

Cependant, j'ai également essayé de le mettre en œuvre sur un site web réel mais dans ce cas, le #content n'est pas supprimée.

Des suggestions sur ce qui pourrait être un problème ?

2voto

Jack Points 88446

Si vous partagez jQuery avec une autre bibliothèque qui utilise le dollar pour son fonctionnement, vous devez vous en prémunir de cette manière, en utilisant un wrapper anonyme :

(function($) {
    $(window).on('load', function(){
        $('#content').remove();
    });
}(jQuery));

Notez qu'au lieu de .load(), j'utilise .on('load', fn).

Au lieu de charger la page, vous pouvez également lier votre code au moment où le DOM est prêt ; jQuery se transmet lui-même en tant que premier argument de la fonction interne :

jQuery(function($) {
    $('#content').remove();
});

1voto

Parthik Gosar Points 1779

Votre variable $ ne pointe pas vers jQuery pour une raison quelconque.

<script type='text/javascript'>
    window.$ = jQuery;
    $(window).load(function()
    {

        $('#content').remove();
     });
</script>

0voto

Sharique Ansari Points 911

Utiliser ceci :

<script type="text/javascript">
var node = document.getElementById('content'); 
if(node.parentNode)
{ 
node.parentNode.removeChild(node);
}
</script>

J'espère que cela vous aidera.

0voto

Gautam3164 Points 17766

Essayez avec ceci

<script type='text/javascript'> 
    $(document).ready(function(){
         $('#content').remove();
    });
</script>

ou

$(function()
{
        $('#content').remove();
});

0voto

Cristy Points 4026

C'est parce que vous avez une erreur javascript lorsque vous appelez $(window).load() .

Uncaught TypeError: Object [object global] has no method 'load'

Il est également préférable d'utiliser document.ready car le contenu sera supprimé plus rapidement (il n'est pas nécessaire d'attendre que toutes les images soient chargées).

//shorthand for $(document).ready()
$(function(){
    $('#content').remove();
});

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X