From ca6b8a0fe8bab740e261a76037f1785e05b05c81 Mon Sep 17 00:00:00 2001 From: Dennis Eichhorn Date: Thu, 27 Aug 2020 18:56:36 +0200 Subject: [PATCH] fix dom class modification --- Utils/oLib.js | 19 +++++++++++++++---- 1 file changed, 15 insertions(+), 4 deletions(-) diff --git a/Utils/oLib.js b/Utils/oLib.js index 7a27f8a..cdbfbb5 100644 --- a/Utils/oLib.js +++ b/Utils/oLib.js @@ -234,8 +234,10 @@ { return typeof ele !== 'undefined' && ele !== null - && typeof ele.className !== 'undefined' - && ele.className.match(new RegExp('(\\s|^)' + cls + '(\\s|$)')) !== null; + && ((typeof ele.className === 'string' + && ele.className.match(new RegExp('(\\s|^)' + cls + '(\\s|$)')) !== null) + || (typeof ele.className.baseVal === 'string' + && ele.className.baseVal.match(new RegExp('(\\s|^)' + cls + '(\\s|$)')) !== null)); }; /** @@ -253,7 +255,11 @@ jsOMS.addClass = function (ele, cls) { if (!jsOMS.hasClass(ele, cls)) { - ele.className += ele.className !== '' ? " " + cls : cls; + if (typeof ele.className === 'string') { + ele.className += ele.className !== '' ? " " + cls : cls; + } else if (typeof ele.className.baseVal === 'string') { + ele.className.baseVal += ele.className.baseVal !== '' ? ' ' + cls : cls; + } } }; @@ -273,7 +279,12 @@ { if (jsOMS.hasClass(ele, cls)) { const reg = new RegExp('(\\s|^)' + cls + '(\\s|$)'); - ele.className = ele.className.replace(reg, ''); + + if (typeof ele.className === 'string') { + ele.className = ele.className.replace(reg, ''); + } else if (typeof ele.className.baseVal === 'string') { + ele.className.baseVal = ele.className.baseVal.replace(reg, ''); + } } };