11549 sujets

JavaScript, DOM et API Web HTML5

Bonjour!

Je pèche sur un sélecteur Jquery qui me parait essentiel, j'aimerais lier un div à un lien de tel manière que si je clique sur le lien j'affiche le div qui y est lié mais je ne trouve aucune solutions pour arriver à ce que je veux.

Mon soucis c'est que mes liens et mes div sont éloigné et n'ont aucunes parenté, du coups je ne peux pas utiliser
.siblings .parent
ou
.children
que j'utilise habituellement.

Auriez vous le nom d'une fonction ou un sélecteur qui pourrait se rapprocher de ce que je cherche?
Il me semble avoir déjà vu des exemple du genre:
<div cible="id_de_mon_lien">
mais je ne trouve aucune documentation qui parlerais de ça...

J'espère avoir été plus ou moins clair dans ce que je veux faire... si jamais n'hésitez pas à me demander des précisions!

Merci d'avance!
Salut !

Si j'ai bien compris tu veux que dès que quelqu'un clique sur un lien donc sur une balise <a> alors une <div> s'affiche ?
Oui c'est exactement ça!
...mais j'ai pleins de div et pleins de liens, alors j'aurais voulu pouvoir "lier - parenter" mes div à mes liens pour alléger mon javascript...
Modifié par Tita (29 Jan 2013 - 16:16)
En faite, j'aurais voulu pouvoir faire quelque chose de ce type;

code html:


<a cible="div1">mon lien</a>
<a cible="div2">mon lien</a>

<div class="div1">mon div</div>
<div class="div1">mon div 2</div>
<div class="div1">mon div 3</div>

<div class="div2">mon div</div>
<div class="div2">mon div 2</div>
<div class="div2">mon div 3</div>


javascript:

var lacible = $(this).attr("cible");

$('a').click(function () {
	$('lacible').show();
});


Mais bon, je fabule peut-être un peu avec ce "cible", j'ai l'impression avoir déjà vu ça quelque part, mais je ne trouve aucune doc.
Salut,
Pour lier tes div à tes liens tu peux faire ainsi:

<a href"#div1"> Lien 1 </a>
<a href"#div1"> Lien 2 </a>
<a href"#div1"> Lien 3 </a>
<div id="div1"> Contenu </div>
<div id="div2"> Contenu </div>
<div id="div3"> Contenu </div>

Comme ça quand javascript est désactivé, le lien renvoi sur la div.
Il suffit de récupère les a. Avec leur href, tu sais quel div est lié au lien.
Bah je sais pas mais je galère quand même pour récupérer mon href... j'ai fais ça:

javascript:
(document).ready(function () {
	
	var lacible="";
	
	$('a').click(function () {
		lacible = $(this).attr('href');
		$(lacible).show();
	});
					
});


Css:
#div1 {
	display: none;
}


et html:
<a href="#div1"> Lien 1 </a>

<div id="div1"> Contenu </div>


quelqu'un aurait une idée du pourquoi ça ne marche pas..?
Milles mercis pour vos réponses!
alors ça... Merci!

j'ai vu que la syntaxe n'est pas exactement pareil à celle que je pratique, il n'y a pas de "ready" et le code jquery et dans la fin du body,... mais du moment que ça marche Smiley biggrin

Youhou, vais pouvoir avancer!
Tita a écrit :
j'ai vu que la syntaxe n'est pas exactement pareil à celle que je pratique, il n'y a pas de "ready"

C'est la même chose en un "chouia" plus court et en réservant le $ de jQuery pour ton bloc d'instructions...

Tita a écrit :
et le code jquery et dans la fin du body,...

Oui, ça permet d'améliorer les performances d'affichage de ta page en évitant un chargement JavaScript bloquant dans le <head>

tm