Bonjour,
j'ai un div qui contient une balise objet.
je souhaite récupérer à partir de l'id de mon div, l'attribut data de ma balise objet.
malgré plusieurs tests je bloque !!
merci d'avance pour votre aide
<a href="#" class="toto" title="tlc-0-0">Vidal Claramonte</a><b/><b/>
<div class="tata" id="tlc-0-0"><object id="ob" data="monpdf.pdf" type="application/pdf" title="" width="1000px" height="900px" align="center"></object></div>
<script type="text/javascript">
$(document).ready(function(){
$('.toto').click(function(){
var info = $(this).attr("title");
var data = $('object', '#' + info).attr("data");
alert(data);
});
});
</script>
Salut,
Tu peux le faire facilement via jQuery:
var data = $('object', 'div#element_id').attr("data");
Sinon, en JS pur tu peux essayer comme suit:
var div = document.getElementById("element_id");
var obj = div.querySelector("object");
var data = obj.attr('data');
Le second exemple est juste, mais pas celui qui utilise jQuery. Ce devrait etre:
$('div#elementId > object').attr('data');
@Vallyan c'est une autre façon de faire, mais les deux sont parfaitement valable et fonctionneront.
Ah bah oui, tiens ! :p
Il y a une différence suivant que les quotes englobes tout ou que chaque selecteur ait les siennes !
Vais me coucher moins con ce soir ... Toutes mes confuses @betaWeb ^^
@Vallyan si je voulais vraiment écrire ce que tu as écrit, je pouvais aussi faire:
var data = $('> object', 'div#element_id').attr("data");
Mais dans tous les cas, les deux notations sont fonctionnelles ;)
J'ai pas l'impression que ça fonctionne... mais peut-être que mon code vous éclairera :
<a href="#" class="toto" title="tlc-0-0">Vidal Claramonte</a><b/><b/>
<div class="tata" id="tlc-0-0"><object id="ob" data="monpdf.pdf" type="application/pdf" title="" width="1000px" height="900px" align="center"></object></div>
<script type="text/javascript">
$(document).ready(function(){
$('.toto').click(function(){
var info = $(this).attr("title");
var div = document.getElementById(info);
var obj = div.querySelector("object");
var data = obj.attr('data');
alert(data);
});
});
</script>
J'aimerais pouvoir récupérer l'information : monpdf.pdf
et si j'applique juste : var data = $('> object', info).attr("data");
j'ai la box alert : undefined
Merci à vous deux pour commencer ;O)
@betaWeb :
pour div#tlc-0-0 j'ai ma variable info...
mais ça affiche toujours undefined...