Tetapi apabila mengulangi HTMLElement.style, atribut trengkas kelihatan seperti pepijat">
Dalam gaya elemen, saya mempunyai beberapa pengisytiharan CSS sebaris, termasuk pengisytiharan singkatan untuk latar belakang
for (pengisytiharan const Array.from(target.style)) { nilai const = target.style.getPropertyValue(deklarasi) console.log(`${deklarasi}: ${value}`) }Ini sepatutnya mencetak
background-color: var(--bg-white)mengikut dokumentasi HTMLElement.style pada MDN, tetapi saya mendapatbackground-color: ' 'Sifat singkatan dikembangkan. Jika anda menetapkan style="border-top: 1px Solid black", sifat biasa (border-top-color, border-top-style dan border-top-width) akan ditetapkan.
Adakah sesiapa yang menghadapi situasi ini?
Masalah menggunakan lelaran lalai
Array.from(target.style)获取target.style. Ia tidak termasuk sifat latar belakang. Mengikut spesifikasi, sifat trengkas telah diperluaskan ke pelbagai bahagiannya.Semuanya diterangkan dalam kod.
Terima kasih kepada @t.niese atas petua dalam komen.
Jika anda menggunakan atribut
HTMLElement.style,它将返回通过styleuntuk menerapkannya secara langsung (bukannya mengiranya).Dalam kes ini, penyemak imbas tidak mempunyai cara untuk mengetahui di mana pernyataan
background: var(--bg-white);中的var(...)将解析什么并它将包含哪些background-...属性(变量的内容将放置在var(...)itu dan kemudian nilai yang terhasil akan dihuraikan.Jadi jika anda sebagai contoh mempunyai
--bg-white: content-box Radial-gradient(crimson, skyblue);那么你的--bg-whiteia sebenarnya akan menjejaskan beberapa sifat.