Beberapa jenis kartu ATM Mandiri atau kartu debit Mandiri beserta limit dan biaya administrasi bulanannya

Lihat Foto

Beberapa jenis kartu ATM Mandiri atau kartu debit Mandiri beserta limit dan biaya administrasi bulanannya(Dok. Bank Mandiri)

JAKARTA, KOMPAS.com - Nasabah Bank Mandiri yang memiliki rekening tabungan umumnya akan mendapat kartu ATM MandiriKartu debit Mandiri ini dapat digunakan nasabah untuk transaksi di mesin ATM ataupun mesin EDC.

Ada beberapa jenis kartu ATM Mandiri atau kartu debit Mandiri yang disediakan Bank Mandiri untuk memenuhi kebutuhan nasabahnya. Setiap jenis kartu ATM Mandiri memiliki biaya administrasi dan limit transaksi yang berbeda-beda.

Dengan memiliki kartu ATM Mandiri, nasabah sudah bisa melakukan berbagai macam transaksi, seperti tarik tunai, setor tunai, transfer uang, cek saldo rekening, hingga membayar berbagai tagihan melalui mesin ATM.

Baca juga: Per 30 April 2023, 16.900 Penumpang KA Arus Balik Turun di Stasiun Senen Jakarta

Nah, bagi Anda yang ingin membuka rekening tabungan di Bank Mandiri, penting untuk mengetahui jenis kartu ATM Mandiri agar tidak salah pilih. 

Berikut ini beberapa jenis kartu ATM Mandiri atau kartu debit Mandiri yang terdiri dari tipe kartu debit Visa dan GPN beserta limit dan biaya administrasi bulanannya. 

1. Kartu ATM Mandiri Silver VISA

  • Biaya administrasi bulanan: Rp 4.500
  • Limit tarik tunai di ATM: Rp 10 juta
  • Limit transfer antar rekening Mandiri di ATM: Rp 50 juta
  • Limit transfer ke rekening lain di ATM: Rp 10 juta
  • Limit pembayaran tagihan/pembelian di ATM: Rp 50 juta
  • Limit belanja di merchant atau EDC: Rp 50 juta
  • Limit pembayaran tagihan/pembelian di EDC: Rp2 juta
  • Limit pembelian isi ulang (telekomunikasi) Rp 5 juta
  • Limit tarik tunai di merchant atau EDC: Rp 1 juta
  • Limit setoran di mesin CDM: Rp 50 juta
  • Limit top up Mandiri Prepaid: Rp 50 juta

Baca juga: BSI Kantongi Fee Based Income Rp 64 Miliar pada Kuartal I-2023

2. Kartu ATM Mandiri Gold VISA

  • Biaya administrasi bulanan: Rp 5.000
  • Limit tarik tunai di ATM: Rp 10 juta
  • Limit transfer antarrekening Mandiri di ATM: Rp 50 juta
  • Limit transfer ke rekening lain di ATM: Rp 10 juta
  • Limit pembayaran tagihan/pembelian di ATM: Rp 50 juta
  • Limit belanja di merchant atau EDC: Rp 50 juta
  • Limit pembayaran tagihan/pembelian di EDC: Rp 2 juta
  • Limit pembelian isi ulang (telekomunikasi): Rp 5 juta
  • Limit tarik tunai di merchant atau EDC: Rp 1 juta
  • Limit setoran di mesin CDM: Rp 50 juta
  • Limit top up Mandiri Prepaid: Rp 50 juta

3. Kartu ATM Mandiri Platinum VISA

  • Biaya administrasi bulanan: Rp 8.500
  • Limit tarik tunai di ATM: Rp 10 juta
  • Limit transfer antarrekening Mandiri di ATM: Rp 100 juta
  • Limit transfer ke rekening lain di ATM: Rp 25 juta
  • Limit pembayaran tagihan/pembelian di ATM: Rp 100 juta
  • Limit belanja di merchant atau EDC: Rp 100 juta
  • Limit pembayaran tagihan/pembelian di EDC: Rp 3 juta
  • Limit pembelian isi ulang (telekomunikasi): Rp 50 juta
  • Limit tarik tunai di merchant atau EDC: Rp 1 juta
  • Limit setoran di mesin CDM: Rp 100 juta
  • Limit top up Mandiri Prepaid: Rp 100 juta

Baca juga: Update Arus Balik Hari Ini, 44.000 Penumpang Kereta Kembali ke Jakarta

Beberapa jenis kartu ATM Mandiri atau kartu debit Mandiri beserta limit dan biaya administrasi bulanannyaDok. Bank Mandiri Beberapa jenis kartu ATM Mandiri atau kartu debit Mandiri beserta limit dan biaya administrasi bulanannya

4. Kartu Debit Mandiri Silver GPN

  • Biaya administrasi bulanan: Rp 2.500
  • Limit tarik tunai di ATM: Rp 10 juta
  • Limit transfer antar rekening Mandiri di ATM: Rp25 juta
  • Limit transfer ke rekening lain di ATM: Rp 5 juta
  • Limit pembayaran tagihan/pembelian di ATM: Rp 5 juta
  • Limit belanja di merchant atau EDC: Rp 25 juta
  • Limit pembayaran tagihan/pembelian di EDC: Rp 1 juta
  • Limit pembelian isi ulang (telekomunikasi): Rp 1 juta
  • Limit tarik tunai di merchant atau EDC: Rp 1 juta
  • Limit top up Mandiri Prepaid: Rp 5 juta
  • Limit setoran di mesin CDM: Rp 50 juta

5. Kartu Debit Mandiri Gold GPN

  • Biaya administrasi bulanan: Rp 5.000
  • Limit tarik tunai di ATM: Rp 10juta
  • Limit transfer antar rekening Mandiri di ATM: Rp50 juta
  • Limit transfer ke rekening lain di ATM Rp 10 juta
  • Limit pembayaran tagihan/pembelian di ATM: Rp 50 juta
  • Limit belanja di merchant atau EDC: Rp 50 juta
  • Limit pembayaran tagihan/pembelian di EDC: Rp 2 juta
  • Limit pembelian isi ulang (telekomunikasi): Rp 5 juta
  • Limit tarik tunai di merchant atau EDC: Rp 1 juta
  • Limit setoran di mesin CDM: Rp 50 juta
  • Limit top up Mandiri Prepaid: Rp 50 juta

Baca juga: Simak, Ini 4 Tips Mengelola Keuangan Pasca Lebaran

6. Kartu Debit Mandiri Platinum GPN

  • Biaya administrasi bulanan: Rp 7.500
  • Limit tarik tunai di ATM: Rp 10 juta
  • Limit transfer antar rekening Mandiri di ATM: Rp 100 juta
  • Limit transfer ke rekening lain di ATM: Rp 25 juta
  • Limit pembayaran tagihan/pembelian di ATM: Rp 100 juta
  • Limit belanja di merchant atau EDC: Rp 100 juta
  • Limit pembayaran tagihan/pembelian di EDC: Rp 3 juta
  • Limit pembelian isi ulang (telekomunikasi): Rp 50 juta
  • Limit tarik tunai di merchant atau EDC: Rp 1 juta
  • Limit setoran di mesin CDM: Rp 50 juta
  • Limit top up Mandiri Prepaid: Rp 100 juta

Nah, itulah beberapa jenis kartu ATM Mandiri atau jenis kartu debit Mandiri. Sebelum memutuskan untuk menggunakannya, sebaiknya pertimbangkan kebutuhan dan biaya admin bulanan dari masing-masing jenis kartu ATM Mandiri.

Beberapa jenis kartu ATM Mandiri atau kartu debit Mandiri beserta limit dan biaya administrasi bulanannyabankmandiri.co.id Beberapa jenis kartu ATM Mandiri atau kartu debit Mandiri beserta limit dan biaya administrasi bulanannya Dapatkan update berita pilihan dan breaking news setiap hari dari Kompas.com. Mari bergabung di Grup Telegram "Kompas.com News Update", caranya klik link , kemudian join. Anda harus install aplikasi Telegram terlebih dulu di ponsel.  

Pilihan Untukmu

`); var wSpecStop = createElementFromHTML(`

Konten disembunyikan.
Muat ulang halaman untuk perbarui rekomendasi.

`); reactionPopup.querySelector('.buttonShare').setAttribute('data-title', item.title); reactionPopup.querySelector('.buttonShare').setAttribute('data-url', itemUrl); reactionPopup.querySelector('.buttonShare').setAttribute('data-campaign', 'AIML_Widget_Desktop'); let userFeedback = new UserFeedback(resultObj.engine['tracker_algsrc'], itemUrl + tracker_params, jxRecHelper, index); reactionPopup.querySelector('.buttonBookmark').addEventListener('click', function() { do_bookmark(itemUrl, index, userFeedback); }); reactionPopup.querySelector('.buttonShare').addEventListener('click', function() { userFeedback.event('share'); }); reactionPopup.querySelector('.buttonNotInterest').addEventListener('click', function() { if (getCookie('kmps_usrid')) { hideThisArt(this); userFeedback.event('not-interested'); } else { const parentAction = this.parentElement.parentElement.parentElement if (!!parentAction) { let indexElement = parentAction.getAttribute('data-index') if (indexElement != 'undefined') { localStorage.setItem('reaction_not_interest_temp', JSON.stringify({ urlpage: items[indexElement].url })) } } window.location.href = "" + btoa(window.location.href); } }); /** * trigger action "userFeedback" that user not interest item before, when not interest without login */ if (getCookie('kmps_usrid') && localStorage.getItem('reaction_not_interest_temp')) { const tempUrlNotInterest = JSON.parse(localStorage.getItem('reaction_not_interest_temp')) if (itemUrl == tempUrlNotInterest.urlpage) { userFeedback.event('not-interested'); localStorage.removeItem('reaction_not_interest_temp'); } } wSpecStop.querySelector('.wSpec-stop-undo').addEventListener('click', function() { showThisArt(this); userFeedback.event('un-not-interested'); }); recItem.appendChild(buttonOption); recItem.appendChild(reactionPopup); recItem.appendChild(wSpecStop); } var recItemWrapperA = createElement('a', null, null, null); recItemWrapperA.setAttribute('href', itemUrl + tracker_params); var titleDiv = createElement('h4', null, null, [cssClasses.title]); var titleTextNode = document.createTextNode(item.title); if (item.itemType == 'video') { var iconVideo = createElement('div', null, null, ['icoInline', 'icoVideo']); iconVideo.style.marginRight = '5px'; titleDiv.appendChild(iconVideo); } titleDiv.appendChild(titleTextNode); var sourceDiv = null; if (item.hasOwnProperty('method')) { sourceDiv = createElement('div', null, null, [cssClasses.source], resultObj.engine['type'] + ' . ' + item.method.toUpperCase()); } else { var sourceDiv = createElement('div', null, null, [cssClasses.source], resultObj.engine['type']); } var textWrapper = createElement('div', null, null, [cssClasses.text_wrapper]); textWrapper.appendChild(categoryDiv); textWrapper.appendChild(titleDiv); textWrapper.appendChild(sourceDiv); recItemWrapper.appendChild(imgWrapper); recItemWrapper.appendChild(textWrapper); recItemWrapperA.appendChild(recItemWrapper); recItem.appendChild(recItemWrapperA); widgetWrapper.appendChild(recItem); // hook up the click handler for this item // recItem.onclick = handleClick.bind(null, jxRecHelper, itemUrl + tracker_params, index); recItemWrapperA.onclick = handleClick.bind(null, jxRecHelper, itemUrl + tracker_params, index); }); } // end while var endDate = new Date(); var loadtime = (endDate.getTime() - startDate.getTime()); trackEventGa('AIML Article Recommendation', 'Content Loaded', 'algsrc='+algsrc+',site=MONEY,device=desktop,loadtime=' + loadtime) let domain = window.location.hostname; if(domain=='){ var url=window.location.href.split("/"); domain=url[2]+'/'+url[3] } let user_subs_type = "Gues"; let subs_type = ""; let is_lgn = 0; let engine = algsrc; if(getCookie('kmps_usrid')){is_lgn=1}; let time_load = loadtime; resolve(); /*** * JXRECSDK NOTES 3 of 5 - * pass all the info about the items to the rec helper * each one is an object: ALL MANDATORY * div * id * pos */ jxRecHelper.items(widgetItemArr); /*** * JXRECSDK NOTES 4 of 5 - * Call the ready() of the helper object when the recommendation * results have been populated to the widget * (This will register the action=ready event) */ if (resultObj.engine['type'] == 'api-1') { jxRecHelper.ready(resultObj.options.algo + ":" + resultObj.options.version); } else { jxRecHelper.ready(resultObj.engine['type']); } } else { jxRecHelper.error(204); console.error("Error: no recommendation items"); return; } } catch (err) { jxRecHelper.error(901); console.log(err.stack); let domain = window.location.hostname; if(domain=='){ var url=window.location.href.split("/"); domain=url[2]+'/'+url[3] } let user_subs_type = "Gues"; let subs_type = "" let is_lgn = 0; let engine = algsrc; if(getCookie('kmps_usrid')){is_lgn=1}; let endDate = new Date(); let time_load = (endDate.getTime() - startDate.getTime()); } }); } const _jxRecSdkURL = ' var startDate = new Date(); class OneWidget { constructor() { //this is also the one we will pass to the JX rec helper object when //we instantiate it: //In this implementation most of these come from the options obj //on the publisher page. this._options = { accountid: '9262bf2590d558736cac4fff7978fcb1', pageurl: ' widget_id: '1000183-6xWeiWZFIM', type: 'pages', container: 'rekomendasi-konten-pilihan-untukmu-aiml', keywords: content_tags, title: title, customid: "26", count: 14, }; this._containerId = this._options.container; this._container = document.getElementById(this._containerId); this._engines = [{"url":"https:\/\/recommendation.kgdata.dev\/rec\/kompascom\/api\/v2\/recommendation\/item","method":"POST","pageurl":"https:\/\/money.kompas.com\/read\/2023\/04\/30\/232015026\/6-jenis-kartu-atm-mandiri-limit-dan-biaya-admin-per-bulannya","system":"kg","type":"api-2","tracker_params":"?source=widgetML&engine=C","tracker_algsrc":"C","count":14,"page_status":"read","excludeitemids":["20230430232015026"],"multiFormat":true}]; } kickOff() { startDate = new Date(); const rand = Math.floor(Math.random() * 1000); /*const randSystem = Math.floor(Math.random() * 3); this._engine = this._engines[randSystem] if (location.hostname.indexOf('lestari') != -1) { this._engine = this._engines[1] }*/ this._engine = this._engines[0]; this._options.system = this._engine['system'] trackEventGa('AIML Article Recommendation', 'Widget load', 'algsrc=' + this._engine['tracker_algsrc'] + ',site=MONEY,device=desktop') let promJXSDK = fetchJSFileP(_jxRecSdkURL); let thisObj = this; // first we wait on the JX REC SDK to be loaded and initialized let recHelperObj = null; let recResults = null; promJXSDK .then(function() { /*** * JXRECSDK NOTES 1 of 5 - INSTANTIATION OF A JX REC HELPER OBJECT * Call this AFTER JX REC SDK is loaded but BEFORE you call your REC * backend. * * param: MANDATORY options object * options object must at a minimal have * accountid: get from jixie * widgetid: get from jixie * container: DIV ID of the destination div to house the widget * (for jixie widget this is just the options object passed from the page) * * (This will also register the action=load event) */ recHelperObj = jxRecMgr.createJxRecHelper(thisObj._options); let basicInfo = thisObj._options; basicInfo.engine = thisObj._engine if (basicInfo.engine.type == 'api-1') { var options = { count: basicInfo['count'], adpositions: "", keywords: basicInfo['keywords'], title: basicInfo['title'], date_published: "2023-04-30", pagecategory: "MONEY", algo: "mixed" }; if(getCookie('kmps_usrid')){ var kg = { pagetype:basicInfo.engine.page_status, uid:getCookie('kmps_usrid'), ukid:getCookie('kmp_uid') } if(basicInfo.engine.page_status=='read'){ kg['excludeitemids'] = basicInfo.engine.excludeitemids; kg['multiFormat'] = true; } options['additional'] = { kg:kg }; } return recHelperObj.getJxRecommendations(options); } else { return fetchRecommendationsP(basicInfo, recHelperObj.getJxUserInfo()); } }) .then(function(resp) { if (thisObj._engine.type == 'api-3') { recResults = new Object recResults.items = resp.docs.result; } else { recResults = resp; } recResults.engine = thisObj._engine; if (!resp || !recResults.items || recResults.items.length == 0) { /*** * JXRECSDK NOTES 2 of 5 - * Call the error() function on the recHelper when either an error * has occured in the fetching or there are no recommended items * * (This will register the action=error event) */ recHelperObj.error(204); throw "no recommendation results"; } }) .then(function() { // everything is ready (recommendation results, css): document.getElementById("rekomendasi-konten-pilihan-untukmu-aiml").classList.remove("-loading"); document.querySelector('.wSpec-list').remove(); createDisplay(rand, thisObj._container, recResults, recHelperObj) .then(function() { toggleDropdown(); //observe lozad lozad('.lozad', { load: function(el) { el.src = el.dataset.src; el.onload = function() { el.classList.add('fade') } } }).observe() }) }) .catch(function(error) { console.log(`Unable to create recommendations widget ${error.stack} ${error.message}`); }); } } var limit_gtm_ready = 1; function check_gtm_ready() { if ('ga' in window) { // create a new instance of our widget based on the options const newW = new OneWidget(); newW.kickOff(); } else { const timeout_gtm_ready = setTimeout(check_gtm_ready, 500) limit_gtm_ready += 1; if (limit_gtm_ready > 10) { clearTimeout(timeout_gtm_ready); const newW = new OneWidget(); newW.kickOff(); } } } check_gtm_ready() document.querySelector('.wSpec-secret').addEventListener('click', function(e) { e.preventDefault(); let wSl = document.querySelectorAll('.wSpec-source'); if (wSl.length > 0) { for (let i = 0; i < wSl.length; i++) { wSl[i].classList.toggle('show') } } }) function trackEventGa(category, action, label) { if ("ga" in window) { ga(function() { tracker = ga.getAll()[0]; if (tracker) { tracker.send("event", category, action, label); console.log('track event ', category, action, label) } }) } } function formBody(obj) { let formBody = []; for (var property in obj) { let encodedKey = encodeURIComponent(property); let encodedValue = encodeURIComponent(obj[property]); formBody.push(encodedKey + "=" + encodedValue); } return formBody.join("&"); } function getCookie(name) { var name = name + '='; var cookies = decodeURIComponent(document.cookie).split(';'); for (var i = 0; i < cookies.length; i++) { var c = cookies[i]; while (c.charAt(0) == ' ') { c = c.substring(1); } if (c.indexOf(name) == 0) { return c.substring(name.length, c.length); } } } function get_guid(url) { const videoPath = url.match(/\/watch\/(\d+)/); if (videoPath) { return `video.${videoPath[1]}`; } let arrayUrl = url.split('/'); let readPath = arrayUrl.indexOf('read'); if (arrayUrl[readPath + 1] == 'xml') { readPath += 1; } let year = arrayUrl[readPath + 1]; let month = arrayUrl[readPath + 2]; let date = arrayUrl[readPath + 3]; let id = arrayUrl[readPath + 4]; let guid = `.xml.${year}.${month}.${date}.${id}`; return guid; } function toggleDropdown() { let tdd = document.querySelectorAll('[data-dropdown]') if (!!tdd) { tdd.forEach((el) => { el.addEventListener('click', function() { el.parentElement.classList.toggle('-active') let saved = el.parentElement.getAttribute('data-saved') let kmps_usrid = getCookie('kmps_usrid'); if (kmps_usrid && !saved && el.parentElement.classList.contains('-active')) { let url = el.parentElement.getAttribute('data-url'); let guid = get_guid(url); check_bookmark( kmps_usrid, guid ).then(function(resp) { if (resp.hasOwnProperty('total_data')) { if (resp.total_data > 0) { el.parentElement.querySelector('.buttonBookmark').classList.add('-active'); el.parentElement.querySelector('.buttonBookmark').innerHTML = 'Hapus dari tersimpan'; el.parentElement.setAttribute('data-saved', 'true'); } else { el.parentElement.setAttribute('data-saved', 'false'); } } }) } }) document.addEventListener("click", function(e) { // console.log(e.target) if (el.contains(e.target)) { // console.log(tdd) } else { el.parentElement.classList.remove('-active') } }); }); } } function check_bookmark(kmps_usrid, guid) { let url = ` return new Promise(function(resolve, reject) { var xmlhttp = new XMLHttpRequest(); xmlhttp.onreadystatechange = function() { if (this.readyState == 4 && this.status == 200) { resolve(JSON.parse(this.responseText)) } }; xmlhttp.open("GET", url, true); xmlhttp.send(); }); } function do_bookmark(pageurl, pos, userFeedback) { const wSpecItem = document.querySelector(`.wSpec-item[data-index="${pos}"]`); const btnBookmark = wSpecItem.querySelector('.buttonBookmark'); const kmps_usrid = getCookie('kmps_usrid'); const guid = get_guid(pageurl); const type = pageurl.match(/\/watch\/(\d+)/) ? 'video' : 'article'; if (kmps_usrid) { if (btnBookmark.classList.contains('-active')) { set_unbookmark({ guid: guid, kmps_usrid: kmps_usrid, type: type }).then(function(resp) { btnBookmark.classList.remove('-active'); btnBookmark.innerHTML = 'Simpan artikel'; reactionToast('Artikel berhasil dihapus dari list yang disimpan'); userFeedback.event('un-save'); }).catch(function(resp) { // message: "Data doesn't exists" if (resp.hasOwnProperty('message') && resp.message.includes('exist')) { btnBookmark.classList.remove('-active'); btnBookmark.innerHTML = 'Simpan artikel'; reactionToast('Artikel berhasil dihapus dari list yang disimpan'); } }) } else { const user_bookmark_url = ""; set_bookmark({ guid: guid, kmps_usrid: kmps_usrid, type: type, publisher: 'kompas', platform: 'desktop' }).then(function(resp) { btnBookmark.classList.add('-active'); btnBookmark.innerHTML = 'Hapus dari tersimpan'; reactionToast('Artikel berhasil disimpan', user_bookmark_url); userFeedback.event('save'); }).catch(function(resp) { // message: "Data already exist" if (resp.hasOwnProperty('message') && resp.message.includes('exist')) { btnBookmark.classList.add('-active'); btnBookmark.innerHTML = 'Hapus dari tersimpan'; reactionToast('Artikel berhasil disimpan', user_bookmark_url); } }) } } else { const login_url = "" + btoa(window.location.href); window.location.href = login_url; } } function set_bookmark(data) { const url = ""; return new Promise(function(resolve, reject) { const xmlhttp = new XMLHttpRequest(); xmlhttp.onreadystatechange = function() { if (this.readyState == 4 && this.status == 201) { resolve(JSON.parse(this.responseText)); } else if (this.readyState == 4 && this.status == 400) { reject(JSON.parse(this.responseText)); } }; xmlhttp.open("POST", url, true); xmlhttp.setRequestHeader("Content-Type", "application/x-www-form-urlencoded;charset=UTF-8"); xmlhttp.send(formBody(data)); }); } function set_unbookmark(data) { const url = ""; return new Promise(function(resolve, reject) { const xmlhttp = new XMLHttpRequest(); xmlhttp.onreadystatechange = function() { if (this.readyState == 4 && this.status == 200) { resolve(JSON.parse(this.responseText)); } else if (this.readyState == 4 && this.status == 400) { reject(JSON.parse(this.responseText)); } }; xmlhttp.open("POST", url, true); xmlhttp.setRequestHeader("Content-Type", "application/x-www-form-urlencoded;charset=UTF-8"); xmlhttp.send(formBody(data)); }); } class UserFeedback { constructor(engine, pageurl, jxRecHelper, pos) { this.engine = engine; this.pageurl = pageurl; this.jxRecHelper = jxRecHelper; this.pos = pos; } event(feedback) { if (this.engine == 'C') { const xmlhttp = new XMLHttpRequest(); let params = { domain: 'kompas.com', ce_userid: getCookie('kmps_usrid'), ce_sessionid: getCookie('ukid'), ce_pageurl: this.pageurl, engine: 'C', ce_feedback: feedback } xmlhttp.open("GET", ' + formatParams(params)); xmlhttp.send(); } else if (this.engine == 'V') { if (feedback == 'share') { this.jxRecHelper.shared(this.pos); } else if (feedback == 'save') { this.jxRecHelper.bookmarked(this.pos); } else if (feedback == 'not-interested') { this.jxRecHelper.hidden(this.pos); } else if (feedback == 'un-not-interested') { this.jxRecHelper.unhidden(this.pos); } } } } function formatParams(params) { return "?" + Object .keys(params) .map(function(key) { return key + "=" + encodeURIComponent(params[key]) }) .join("&") } document.addEventListener("click", function(e){ let dx = document.querySelectorAll('[data-dropdown]') if(dx) { dx.forEach(function(el){ if(el.contains(e.target)) { el.parentElement.classList.toggle('-active') } else { el.parentElement.classList.remove('-active') } }) } })