Actually, My whole function is built in javascript and I searched on Google to add data-bs-toggle using js but all were showing jquery. Here's My code:
function onload_function(params) {
n = 100
for (let i = 0; i < n; i++){
elem = document.getElementById(i)
//console.log(elem.textContent)
try{
console.log(elem.textContent)
new_elem = document.createElement('button');
new_elem.innerHTML = elem.textContent;
new_elem.{{data-bs-target}} = '#support-tab-8'; <-- here
new_elem.id = 'button-' + i.toString();
new_elem.classList.add("nav-link");
document.getElementById("dynamic-headings").appendChild(new_elem);
}
catch{
}
}
You can access the Data Attributes by using the .dataset
property and set the Value of the Data attribute you want to change. Keep in mind, that while the data-attributes are written in kebab-case
inline in html, in Javascript those are accessed with camelCase
. Therefore you want to set the Value like this new_elem.dataset.bsTarget = "YourValue"
I've appended a snippet demonstrating the procedure below.
// We want to add the EventListeners only if the DOM is fully loaded to ensure that no issues happen. document.addEventListener('DOMContentLoaded', function(){ // Just for the sake of demonstrating I've added a button with an onClick Event to trigger the // change of the Data Attribute. In your code the change within might happen at any point. document.getElementById('btnChange').addEventListener('click', function(){ // We need the NodeElement of the Element we want to change the Data Attribute for. const el = document.querySelector('.my-span'); // If the Element exists we then change the Data attribute by just accessing the Dataset // property and define a property in the Dataset Object which is called the same as the // Attribute we want to set. But again, keep in mind that we write the Attribute here in // camelCase if(el) el.dataset.bsTarget = "MyValue"; }) });
.my-span[data-bs-target="MyValue"]{ background-color: red; }
<div class="container"> <span class="my-span">My Span Element</span> <button id="btnChange">Change Data Attribute</button> </div>
The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.