11499 sujets

JavaScript, DOM et API Web HTML5

Bonjour bonjour,

Je me demandais comment récupérer une class qui commence par certains caractères. Petit exemple :
<body class="class1 class2 class3 class4 page-2">
...
</body>
Mettons qu'ici je souhaite récupérer la class commencant par 'page-' pour ensuite lui substitué le 2 afin d'y mettre un 3 (par exemple).

Ce poste est au plus proche de ce que je souhaite : http://stackoverflow.com/questions/57812/remove-all-classes-that-begin-with-a-certain-string mais j'avoue être un peu perdu, si par exemple j'ai plusieurs class sur mon élément et que je n'en connais pas la position ?

Si vous aviez des pistes de recherche je suis tout à fait preneur, merci d'avance ! Smiley ravi

PS: demain c'est la kiwiparty !
Avec un expression rationnelle ?


var str = "class1 class2 class3 class4 page-2";
var regexp = /\b(page-)(.+)\b/;
var result = str.replace(regexp, "$13");
console.log(result);
Ou avec un engin de sélection de noeud DOM usant CSS 3:


$("[class^=page-]");
document.querySelectorAll("[class^=page-]");
Euh Simon, ça ça sélectionne les éléments qui contiennent cette classe, pas la classe elle même dans la liste des classes.
Salut à vous deux,

Merci de vos réponses, effectivement jb tu as bien capté ce à quoi je faisais allusion.

D'ailleurs merci de la solution apportée, elle me semble pertinente, j'ai presque envie de dire que je n'en attendais pas moins de toi Smiley langue .

Je donnerai un feedback une fois que j'aurai mis la solution en place, pour ceux que ça intéresse.

Je vous remercie.