Mon stylesheet a deux définitions:Dans mon "FAQ" section, faire <dt> ressembler à un <a> avec jquery
bodytext a { border-bottom-color: #9aa1ae; border-bottom-width: 1px;
border-bottom-style: solid; color: #00589f; }
bodytext a:hover { border-bottom-color: #0d1117; border-bottom-width: 1px;
border-bottom-style: solid; color: #0d1117; }
et ma page a une section FAQ, comme si
<dl class='faq'>
<dt>Question 1</dt>
<dd>Answer 1</dd>
<dt>Question 2</dd>
<dd>Answer 1</dd>
</dl>
j'ai écrit simple jquery pour étendre/contracter la FAQ, comme suit:
$('dl.faq dd').hide();
$('dl.faq dt').click(function(){
$(this).next().slideToggle();
});
de sorte que si javascript est désactivé, le La FAQ est toujours lisible.
Cependant, en ce moment, je suis inquiet que mes lecteurs ne cliquent pas sur les questions pour les développer. Je voudrais que les dt
s ressemblent à a
pour qu'ils aient l'air cliquables, et de préférence, les définitions a
et a:hover
apparaissent une seule fois dans ma feuille de style. Comment est-ce que je fais ceci dans jquery?
parce que je ne veux pas que la page monte et descende quand un utilisateur javascript-élargit ou contracte les questions. Je peux et relier les gens à des questions/réponses individuelles en donnant à chaque 'dt' un identifiant. Je voudrais simplement que mes 'dt' ressemblent à' 'a's, ne se comportent pas comme eux, et seulement pour les lecteurs compatibles javascript. Merci. – Anna
@Anna Ajoutez simplement un événement pour JavaScript à ces liens et utilisez 'preventDefault()' ou 'return false'. Cela arrêtera le comportement habituel du navigateur. – alex
Alex, j'aimerais vraiment coder les questions en tant que 'dt's, pas en tant que 'a's. S'ils étaient 'a's, alors la page sauterait toujours de haut en bas avec des lecteurs désactivés par javascript. Inutile, je devrais ajouter. Merci. – Anna