Как открыть <details> с помощью ссылки?

169
24 февраля 2019, 06:40
<a href="#link">Click</a>
<details id="link">
<summary>Text...</summary>
blablabla
</details>

Как сделать чтобы при нажатии на ссылку добавлялся атрибут open для тега details?

Answer 1

$('a').on('click', function() { 
  const id = $(this).attr('href'); 
  $(id).attr('open', function(index, attr) { 
    return attr == 'open' ? null : 'open'; 
  }); 
})
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
<a href="#link">Click</a> 
 
<details id="link"> 
  <summary>Text...</summary> 
  blablabla 
</details>

Answer 2

написал специально и атрибут и класс, так как сомневаюсь что вам нужен именно атрибут

$(document).ready(function(){ 
  $("a[href='#link']").on("click", function(){ 
    $("#link").attr("open"); // Attribute 
    $("#link[open]").css("display", "block") 
    // $("#link").toggleClass("open"); class 
  }) 
})
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
<a href="#link">Click</a> 
 
<details id="link"> 
<summary>Text...</summary> 
blablabla 
</details>

READ ALSO
Линии при наведении на ссылку в меню

Линии при наведении на ссылку в меню

Как реализовать такие горизонтальные линии при наведении на ссылку меню на css?

180
Контент меню по всей ширине страницы

Контент меню по всей ширине страницы

Нужно, чтобы блок с зеленой обводкой был по всей ширине страницы (нужно чтобы именно цвет фона был по всей ширине), а сам контент был в соответствии...

151