El propósito de este código es abrir dos pestañas diferentes donde una pestaña está anidada dentro de la pestaña principal. Cuando el usuario hace clic en un enlace que transmite valores hash de cadena de consulta como los siguientes
http://127.0.0.1:5500/products/virtual-machines.html#Get_Started#v-pills-02-tab
Necesito abrir ambas pestañas a la vez cuando se carga la página. Bootstrap 5 es el complemento utilizado para. Intenté usar el siguiente código.
var hash = location.hash.split('?')[0]; console.log(hash); if (hash) { var triggerEl = document.querySelector("#" + hash + ''); triggerEl.click(); }resultado
#Get_Started#v-pills-02-tabNecesito deslizarme en dos var
Get_Started v-pills-02-tabSu código de ejemplo se divide en un signo de interrogación (?), Que no existe en su hash.
Tal vez podría escribir su hash como una lista separada por comas, el primer elemento de la lista sería la identificación del elemento de la pestaña principal y el segundo elemento sería la identificación del elemento de la pestaña secundaria, etc.
http://127.0.0.1:5500/products/virtual-machines.html#Get_Started,v-pills-02-tabLuego analícelo, dividiéndolo en coma.
// substring out the leading '#' // and convert the comma-separated items into an array var tabIds = location.hash.substring(1).split(','); if(tabIds) { var $tab = $('#' + tabIds[0]); // Ensure that the element exists before clicking it if($tab.length > 0) { $tab.click(); // Check for subsequent tab-ids if(tabIds.length > 1) { var $subTab = $('#' + tabIds[1]); if($subTab.length > 0) { $subTab.click(); } } } }(Lo siento si eres alérgico a jQuery. No debería ser difícil traducirlo a Vanilla JS).