11550 sujets

JavaScript, DOM et API Web HTML5

Bonjour,

Je viens ici car ça fait plus de 2 heures que je pédale dans la choucroute. Pourtant ça doit être simple pour vous. Le but de la manoeuvre est en fait d'avoir une image présente sur chaque post d'un pseudo forum, et que cette image, au clic, permette de récupérer le post auquel elle est liée, dans le but d'utiliser ce contenu pour une citation.

Voici le code :


<tr>
<td class="messageHead">
<img id="com_' . $retour['idDansSujet'] . '" class="imgCitation" src="" />
</td>
</tr>
<tr>
<td class="messageBody">
</td>
</tr>


Le but est donc d'utiliser la classe "imgCitation" au clic, de la lier à l'id de l'image correspondante, et au final de sélectionner le texte contenu dans la cellule de classe "messageBody".

Voici où j'en suis :


$(".imgCitation").click(function() {
var idCom = $(this).attr("id");
var citation = $().text();
alert(citation);
});


Je ne parviens pas à franchir l'ultime étape.

Merci aux âmes charitables.. Smiley confused
Modifié par Bertrand40 (25 Jan 2011 - 18:46)
$(".imgCitation").click(function() {
   alert($(this).parentsUntil("table").next().find(".messageBody").html());
}); 


Le plus simple serait quand même de définir un ID composé à l'élément messageBody.

<tr> 
<td class="messageHead"> 
<img id="com_' . $retour['idDansSujet'] . '" class="imgCitation" src="" /> 
</td> 
</tr> 
<tr> 
<td class="messageBody" id="mes_' . $retour['idDansSujet'] . '"> 
</td> 
</tr> 


Si c'est possible, on peut faire :

$(".imgCitation").click(function() {
   var id = $(this).attr("id").substr(4);
   alert($"#mes_"+id).html());
}); 
Génial ! Merci de ton aide Smiley biggrin

J'ai choisi ta première proposition car elle me cause. Elle a l'air un peu lourde vue comme ça, juste du point de vue d'un newbie, mais elle est assez explicite.

Encore merci.
Modifié par Bertrand40 (25 Jan 2011 - 18:45)