Это будет работать:
max((i, name) for d in (a,b,c,d,e) for name, i in d.items())[1]
Ваш код не будет работать, потому что вы передаете ul в функции, которая не имеет никакого смысла, поэтому он не будет работать.
Я изменил ваш код так, чтобы это было проще всего
var btn = document.querySelector('button');
var ul = document.querySelector('ul');
btn.onclick = function(){
ul.classList.toggle('newClass');
}
.newClass {
display: none;
}
<div class="main">
<ul>
<li>one</li>
<li>two</li>
<li>three</li>
</ul>
</div>
<button class="btn">hide</button>
Надеюсь, это поможет.
Ванильное решение Пример демонстрации и кода
li
- тег, а не id Таким образом, вы должны получить элементы по тегу, например,
var elements = document.getElementsByTagName()
Теперь вы не можете использовать elements
напрямую, потому что это массив элементов. Таким образом, у вас есть итерация каждого элемента в массиве, например используя цикл for
, как я сделал. Затем вы присваиваете текущий элемент переменной var в моем случае element
и создаете оператор if, как вы делали это раньше.