Как получить HTML значения стиля элемента в JavaScript?

Я ищу способ получить стиль от элемента, которому установил стиль на него тег 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.

58
задан 28 January 2015 в 01:13

1 ответ

Можно сделать функцию 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"]);
0
ответ дан 1 November 2019 в 14:16

Другие вопросы по тегам:

Похожие вопросы: