J'essaie d'avoir un lien en haut de ma page ouvrir une section entre les en-têtes de mon site, l'en-tête (ou en-têtes) dans ce cas ont des ID et ceux-ci sont référencé dans les liens ('href = "# heading_3"'). Je voudrais utiliser jquery seulement dans ce but.Jquery slideToggle invité par un lien séparé sur la page
var _aTag = "a";
var _Header = "h3, h4";
$(document).ready(function(){
$(_aTag).click(function(){
\t \t $element = $(this);
\t \t $elString = $element.attr('href');
\t \t $elString = $elString.substring(1);
\t \t if ($element.attr('class') == 'ToCh') {
$header = document.getElementById($elString);
\t $content = $header.parent().nextUntil(_Header);
$content.slideToggle();
\t \t \t }
});
\t });
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<a class="ToCh" href="#heading_3"> Test link</a>
<h2 id="heading_2">Header W</h2>
<p>Text</p>
<h3 id="heading_3">Header X</h3>
<p>Text</p>
<h4 id="heading_4">Header Y</h4>
<p>Text</p>
<h4 id="heading_5">Header Z</h4>
<p>Text</p>
Bien d'abord document.getElementById ($ elString) ne retourne pas un objet jQuery. Utilisez ** $ ($ elString) ** si $ elString contient l'identifiant de l'élément que vous voulez. –
Je veux le contenu après/à côté de l'élément avec l'ID $ elString –
Ensuite, vous pouvez le faire: $ ($ elString) .next() –