Ciblage des itérations de noms de classe avec JS

J’essaie d’parsingr les données JSON dans des itérations spécifiques d’un nom de classe “slide_content”

Pour obtenir quelque chose comme ça:

slide_content[0] 

Mais JS ne fournit pas de sélecteur getElementByClass() .

Les données de l’API en question sont ici: Conversion de Straight JS en JQuery

À votre santé! Myles

Utilisez jQuery. Il vous permet d’utiliser $('.someClass') pour récupérer tous les éléments portant un nom de classe donné.

Si, pour une raison quelconque, vous ne pouvez pas utiliser jQuery ou une autre bibliothèque JS, utilisez simplement le moteur de sélection Sizzle, également utilisé par jQuery. Ce n’est pas beaucoup de code, vous pouvez même le copier-coller dans l’un des fichiers JS de votre projet ça, c’est moche: p). Mais puisque vous avez marqué votre question avec jquery, je suppose que vous pouvez utiliser jQuery …

Les nouveaux navigateurs (IE9 et querySelectorAll ) prennent en charge document.getElementsByClassName (ce qui signifie ironiquement qu’il prend moins en charge que querySelectorAll , mais je m’éloigne du sujet …), mais cela ne répondra probablement pas à vos besoins de compatibilité. Dans ce cas, vous pouvez utiliser quelque chose comme ceci pour obtenir un tableau de nœuds avec la classe.

 var nodes = document.getElementsByTagName('*'), targetClass = 'myclass', result = []; for(var i = 0, l = nodes.length; i < l; i++){ if((nodes[i].className + ' ').indexOf(targetClass + ' ') !== -1){ result.push(nodes[i]); } } 

Ce n'est pas une copie exacte de getElementsByClassName , car cette fonction renvoie une liste de NodeList , mais elle devrait être suffisamment proche pour la plupart des applications.