Я ищу способ получить стиль от элемента, которому установил стиль на него тег style.
<style>
#box {width: 100px;}
</style>
В теле
<div id="box"></div>
Я ищу прямой JavaScript без использования библиотек.
Я попробовал следующее, но продолжайте получать пробелы:
alert (document.getElementById("box").style.width);
alert (document.getElementById("box").style.getPropertyValue("width"));
Я заметил, что только могу использовать вышеупомянутое, если я установил стиль с помощью JavaScript, но неспособный к с тегами style.
Можно сделать функцию getStyles
, это возьмет элемент, и другими аргументами являются свойства, это - значения, которые Вы хотите.
const convertRestArgsIntoStylesArr = ([...args]) => {
return args.slice(1);
}
const getStyles = function () {
const args = [...arguments];
const [element] = args;
let stylesProps = [...args][1] instanceof Array ? args[1] : convertRestArgsIntoStylesArr(args);
const styles = window.getComputedStyle(element);
const stylesObj = stylesProps.reduce((acc, v) => {
acc[v] = styles.getPropertyValue(v);
return acc;
}, {});
return stylesObj;
};
Теперь, можно использовать эту функцию как это:
const styles = getStyles(document.body, "height", "width");
ИЛИ
const styles = getStyles(document.body, ["height", "width"]);