Comment faites-vous une balise div dans un lien. Je voudrais que toute ma div soit cliquable.
JS:
<div onclick="location.href='url'">content</div>
jQuery:
$("div").click(function(){
window.location=$(this).find("a").attr("href"); return false;
});
Assurez-vous d'utiliser cursor:pointer
pour ces DIV
Si vous devez définir votre balise d'ancrage dans la div, vous pouvez également utiliser CSS pour définir l'ancre afin qu'elle remplisse la div via display: block.
En tant que tel:
<div style="height: 80px"><a href="#" style="display: block">Text</a></div>
Désormais, lorsque l'utilisateur fait flotter son curseur dans cette div, la balise d'ancrage remplit la div.
Si vous utilisez HTML5, comme indiqué dans cet autre question, vous pouvez placer votre div
dans a
:
<a href="http://www.google.com"><div>Some content here</div></a>
Préférez cette méthode car elle indique clairement dans votre structure que tout le contenu est cliquable et où il pointe.
NE LE FAITES PAS.
<A>NCHOR</a>
approprié.<DIV>
en un lien, utilisez "Javascript" pour envelopper le <DIV>
dans un <A>NCHOR</A>
<DIV>
, utilisez le gestionnaire d'événements onclick
... et ne l'appelez pas un "lien".<div style="cursor:pointer" onclick="document.location='http://www.google.com'">Content Goes Here</div>
<div style="cursor:pointer;" onclick="document.location='http://www.google.com'">Foo</div>
Vous pouvez créer la fonction DIV entière en tant que lien en ajoutant un onclick = "window.location =" URL CIBLE "" et en définissant son style sur "curseur: pointeur". Mais c'est souvent une mauvaise idée de le faire car les moteurs de recherche ne pourront pas suivre le lien résultant, les lecteurs ne pourront pas s'ouvrir dans des onglets ou copier l'emplacement du lien, etc. puis définissez son style sur display: block, puis appelez-le comme un DIV.
Vous pouvez utiliser Javascript pour obtenir cet effet. Si vous utilisez un framework, ce genre de choses devient assez simple. Voici un exemple dans jQuery :
$('div#id').click(function (e) {
// Do whatever you want
});
Cette solution présente l’avantage de ne pas conserver la logique dans votre balise.
Gardez à l'esprit que les araignées de recherche n'indexent pas le code JS. Ainsi, si vous insérez votre URL dans du code JS, veillez également à l'inclure également dans un lien HTML traditionnel ailleurs sur la page. Autrement dit, si vous souhaitez que les pages liées soient indexées par Google, etc.