11548 sujets

JavaScript, DOM et API Web HTML5

Bonsoir,

Via mon CMS (Dotclear), j'insère une image donc on obtient un code généré comme ceci :

<img title="iStock_000012024300XSmall.jpg, oct. 2011" alt="iStock_000012024300XSmall.jpg" src="/dc24/public/iStock_000012024300XSmall.jpg">


et je souhaiterai que côté publique, des métadonnées présent dans le fichier apparaissent (comme le titre et le copyright).

Je ne suis pas très à l'aise avec jQuery mais j'aimerai que ça devienne :

<div class="legend">
<img title="iStock_000012024300XSmall.jpg, oct. 2011" alt="iStock_000012024300XSmall.jpg" src="/dc24/public/iStock_000012024300XSmall.jpg">
<p>Mon titre - Copyright</p>
</div>


J'ai tenté maladroitement des choses avec l'aide de cette page.
Bonjour,

wrapAll (ou wrap tout court) est en effet une solution pour encapsuler ton image dans un élément (ici, une div). pour ajouter un paragraphe après l'image, tu peux utiliser la fonction after.

qu'as tu tenté exactement? si tu poste sur ce forum, et que tu juge tes tentatives maladroites, j'en déduis qu'elles n'ont pas abouti: qu'est ce qui ne marche pas?
Merci de ta réponse. Mes tentatives d'hier n'avaient aucun effet. Sans doute que je ne l’écrivai pas correctement.

Ce matin, ça marche avec :


jQuery(function($){
$("img").wrapAll(document.createElement("div"));
$("img").after( $("<p>Test</p>")[0] );
});


L'idée maintenant, ça serait de pouvoir rajouter des class à ce div et à ce p.
Ok, pour rajouter des classes, tu peux faire quelquechose comme suit:
jQuery(function($){
$("img").wrapAll('<div class="ma-classe-pour-les-div"/>');
$("img").after('<p class="ma-classe-pour-les-p">Test</p>');
});