Reputation: 95
I have button with onclick :
<button class="tablinks" onclick="openDiv(event, 'default')">{'TEXT_DEFAULT_SETTINGS'|tr}</button>
openDiv function:
function openDiv(evt, cityName) {
// Declare all variables
var i, tabcontent, tablinks;
// Get all elements with class="tabcontent" and hide them
tabcontent = document.getElementsByClassName("tabcontent");
for (i = 0; i < tabcontent.length; i++) {
tabcontent[i].style.display = "none";
}
// Get all elements with class="tablinks" and remove the class "active"
tablinks = document.getElementsByClassName("tablinks");
for (i = 0; i < tablinks.length; i++) {
tablinks[i].className = tablinks[i].className.replace(" active", "");
}
// Show the current tab, and add an "active" class to the button that opened the tab
document.getElementById(cityName).style.display = "block";
evt.currentTarget.className += " active";
}
How can I trigger this onclick?
Upvotes: 0
Views: 111
Reputation: 4007
Your code working fine unless you dont have element with default
as id.
Else your code ll break & give error as Uncaught TypeError: Cannot read property 'style' of null
for this statement document.getElementById(cityName).style.display = "block";
See the below working example of your code:
function openDiv(evt, cityName) {
// Declare all variables
var i, tabcontent, tablinks;
// Get all elements with class="tabcontent" and hide them
tabcontent = document.getElementsByClassName("tabcontent");
for (i = 0; i < tabcontent.length; i++) {
tabcontent[i].style.display = "none";
}
// Get all elements with class="tablinks" and remove the class "active"
tablinks = document.getElementsByClassName("tablinks");
for (i = 0; i < tablinks.length; i++) {
tablinks[i].className = tablinks[i].className.replace(" active", "");
}
// Show the current tab, and add an "active" class to the button that opened the tab
document.getElementById(cityName).style.display = "block";
evt.currentTarget.className += " active";
}
#default {
display:none
}
<button class="tablinks" onclick="openDiv(event, 'default')">{'TEXT_DEFAULT_SETTINGS'|tr}</button>
<div id="default">
This is a default div
</div>
Upvotes: 1
Reputation: 1572
Try:
document.getElementsByClassName("tablinks")[0].click()
Upvotes: 2