Partage
  • Partager sur Facebook
  • Partager sur Twitter

W3C, element span not allowed

Sujet résolu
    24 avril 2019 à 11:35:35

    Bonjour,

    J'ai un petit soucis avec W3C validator.

    Mon problème est le suivant:

    Dans mon code html, j'ai une balise <nav> qui contient une liste dans laquelle j'ai une balise <span> afin de faire une animation js (lorsque je survole un élément <li> le span vient se coller en dessous avec une bordure pour le souligner de façon animé. comme ceci). Problème, W3C n'accèpte pas de span dans une liste.. Je ne vois pas comment remédier à ce problème, auriez-vous une petite idée? :)

    L'erreur exacte: Element span not allowed as child of element ul in this context. (Suppressing further errors from this subtree.)

    Mon code HTML:

    <div class="menu2">
    		<nav>
    			<ul>
    				<li><a id=accueil href="accueil.php">Accueil</a></li>
    				<li><a id=entreprise href="entreprise.php">L'entreprise</a></li>
    				<li><a id=contact href="contact.php">Coordonnées</a></li>
    				<li><a id="Popup" href=# data-width=50% data-rel="Popcontact" class="Poping">Nous contacter</a></li>
    				<span></span>
    			</ul>
    		</nav>
    	</div>

    Mon code JS:

     //=========Menu========
        var thispage=document.location.href.substring(document.location.href.lastIndexOf("/")+1);
        var reg = /.php/, reganchor = /#[0-9]/;
        thispage = thispage.replace(reg,"");
        thispage = thispage.replace(reganchor,"");
        console.log(thispage);
        if(thispage !== "accueil" && thispage !== "entreprise" && thispage !== "contact")
            thispage = "accueil";
        $('span','nav','header').animate({
            'width': $('#'+thispage).width(),
            'left': $('#'+thispage).position().left
        },'fast')
        
        $('a','nav', 'header').mouseover(function(){
        $('span','nav','header').animate({
            'width': $(this).width(),
            'left': $(this).position().left
        },'fast')
    
    
        })
            $('ul','nav','header').mouseleave(function(){
            $('span','nav','header').animate({
                'width': $('#'+thispage).width(),
                'left': $('#'+thispage).position().left
            },'fast')
        })

    Merci d'avance :)


    -
    Edité par AxelMonoury 24 avril 2019 à 11:39:54

    • Partager sur Facebook
    • Partager sur Twitter
      24 avril 2019 à 13:17:07

      Bonjour,

      sois tu colle ton span en dessous de </ul>, sois tu integre une class jouant le rôle de ton span à Popup

      -
      Edité par exen 24 avril 2019 à 13:17:24

      • Partager sur Facebook
      • Partager sur Twitter

      Compos sui.

        24 avril 2019 à 13:51:25

        Super, je l'ai mis en dessous de </ul> et ai modifié quelques propriétés css et ça fonctionne exactement comme avant sans l'erreur W3C merci beaucoup ! :)
        • Partager sur Facebook
        • Partager sur Twitter

        W3C, element span not allowed

        × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
        × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
        • Editeur
        • Markdown