gpt4 book ai didi

javascript - 如何从 HTML 元素中提取计算出的样式值?

转载 作者:行者123 更新时间:2023-11-30 09:30:48 24 4
gpt4 key购买 nike

我正在使用以下函数获取具有特定计算样式的所有 HTML 元素。例如,getCssByRule('margin-left') 将生成一个数组,其中包含页面中具有剩余边距的所有元素。

getCssByRule (rule) {
const elements = Array.from(document.querySelectorAll('*')).filter(e => {
return parseInt(window.getComputedStyle(e).getPropertyValue(rule)) !== 0
})
return elements
}

如何修改此函数以便我也可以获得此计算值的值? (例如 30px)?

最佳答案

如果你想获得计算值的数组,那么你可以像这样修改你的函数:

function getCssByRule(rule) {
const values = Array.from(document.querySelectorAll('*'))
.filter(e => parseInt(window.getComputedStyle(e).getPropertyValue(rule)) !== 0)
.map(e => window.getComputedStyle(e).getPropertyValue(rule));

return values;
}

console.log(getCssByRule('margin-left'));
<div style="margin-left: 20px"></div>
<div style="margin-left: 19px"></div>
<div></div>
<div style="margin-left: 18px"></div>

关于javascript - 如何从 HTML 元素中提取计算出的样式值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46419521/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com