Obtenez De L'Élément De Classname Script Ne Fonctionne Pas

Je sais, ce n'est pas pris en charge par IE, mais j'ai trouvé un super script en ligne que quelqu'un a été assez généreux pour fournir gratuitement, mais je ne peux pas comprendre pourquoi ça ne fonctionne pas. J'ai été regarder cela pendant des heures, merci de me pointer dans la bonne direction!

Mon code:

<script language="javascript" type="text/javascript" src="getbyclass.js"></script>
<script type="text/javascript" language="javascript">
function editToggle(toggle){
    if (toggle == "off"){
    getElementsByClassName("editp").style.display ="none";
    document.getElementById('editToggle').innerHTML="<a href=\"#\" onclick=\"editToggle(\"off\"); return false;\">>Edit Mode: <span style=\"color:red;\">OFF</span></a>";
    toggle="on";
    }else{
    getElementsByClassName("editp").style.display ="inline";
    document.getElementById('editToggle').innerHTML="<a href=\"#\" onclick=\"editToggle(\"on\"); return false;\">>Edit Mode: <span style=\"color:green;\">on</span></a>";
    toggle="off";
    }
}

aussi:

echo "<span id=\"editToggle\"><a href=\"#\" onclick=\"editToggle(); return false;\">Edit Mode: <span style=\"color:red;\">OFF</span></a></span>";

Le code de getbyclass.js peut être vu ici.


En réponse à la les réponses ci-dessous, j'ai essayé ceci:

function editToggle(toggle){
    var list = getElementsByClassName("editp");
    if (toggle == "off"){
    //getElementsByClassName("editp").style.display ="none";
        for (index = 0; index < list.length; ++index) {
            list[index].style.display ="none";
        }
    document.getElementById('editToggle').innerHTML="<a href=\"#\" onclick=\"editToggle(\"off\"); return false;\">>Editfalse;\">Edit Mode: <span style=\"color:red;\">OFF</span></a>";
    toggle="on";
    }else{
    //getElementsByClassName("editp").style.display ="inline";
        for (index = 0; index < list.length; ++index) {
            list[index].style.display ="inline";
        }
    document.getElementById('editToggle').innerHTML="<a href=\"#\" onclick=\"editToggle(\"on\"); return false;\">>Editfalse;\">Edit Mode: <span style=\"color:green;\">on</span></a>";
    toggle="off";
    }
}

Mais ça ne marche toujours pas.

  • Où est exactement le code de la rupture? si vous console.log/alert le contenu de getElementsByClassName("editp") que voyez-vous (à la fois d'un navigateur moderne et IE7)? Aussi, plutôt que d'utiliser toggle = "on"/"off" et la vérification de la chaîne de valeur, utiliser un booléen, c'est qu'elles sont faites: c'est à dire toggle = true et puis if(toggle)
  • Aussi, qu'entendez-vous par "ne travaillent pas"? Peut-être créer un jsfiddle?
  • Il ne fait absolument rien. À tous.
  • Il n'est pas approprié de modifier le code dans la question que dans la réponse à des réponses. Vous pouvez ajouter une note à la fin de la question si vous le souhaitez, mais modifier le code rend la question inutile pour les gens à venir plus tard, et rend les réponses regarder d'un peu de non-sens. J'ai corrigé pour toi cette fois.