Reputation: 119
Does anyone know why it isn't working?
I want it to show div odpoved
when I click on div dotaz
.
function ukaz(a) {
var elements = document.getElementsByClassName(a);
for (var i = 0; i < elements.length; i++) {
elements[i].style.display = "block";
}
}
<div class="dotaz" onClick="ukaz(odpoved)">
<p>YOSODJDN</p>
<span class="qanick">jirka</span>
<span class="fafadown"><i class="arrow fa fa-angle-down" style="font-size:24px"></i></span>
</div>
<div class="odpoved" style="display:none">
<p>ODPOVED</p>
<span class="qanick">anetka</span>
</div>
Upvotes: 0
Views: 194
Reputation: 866
onClick="ukaz(odpoved)"
is attempting to call a function, using a variable - instead of a string - as an argument.
function ukaz(a) {
var elements = document.getElementsByClassName(a);
for (var i = 0; i < elements.length; i++) {
elements[i].style.display = "block";
}
}
<div class="dotaz" onClick="ukaz('odpoved')"> <!-- odpoved is a string, not a variable -->
<p>YOSODJDN</p>
<span class="qanick">jirka</span>
<span class="fafadown">
<i class="arrow fa fa-angle-down" style="font-size:24px"></i>
</span>
</div>
<div class="odpoved" style="display:none">
<p>ODPOVED</p>
<span class="qanick">anetka</span>
</div>
Upvotes: 1
Reputation: 13407
Use it like this, pass odpoved
as a string
<div class="dotaz" onClick="ukaz('odpoved')">
<div class="dotaz" onClick="ukaz('odpoved')">
<p>YOSODJDN</p>
<span class="qanick">jirka</span>
<span class="fafadown"><i class="arrow fa fa-angle-down" style="font-
size:24px"></i></span>
</div>
<div class="odpoved" style="display:none">
<p>ODPOVED</p>
<span class="qanick">anetka</span>
</div>
<script>
function ukaz(a) {
var elements = document.getElementsByClassName(a);
for (var i = 0; i < elements.length; i++) {
elements[i].style.display = "block";
}
}
</script>
Upvotes: 2