是因为innerHTML属性只能将字符串作为HTML插入到元素中,而不会解析其中的样式。SASS是一种CSS预处理器,需要通过编译器将其转换为浏览器可识别的CSS样式。
解决这个问题的方法是使用其他方式将SASS样式应用到元素中,例如使用style标签或外部CSS文件。以下是一些解决方案:
var styleTag = document.createElement('style');
styleTag.innerHTML = '/* 这里插入SASS样式 */';
document.querySelector('.target-element').appendChild(styleTag);
<link rel="stylesheet" href="path/to/your/style.css">
import styled from 'styled-components';
const StyledElement = styled.div`
/* 这里插入SASS样式 */
`;
// 在组件中使用
<StyledElement>...</StyledElement>
总结一下,innerHTML注入的SASS样式不起作用是因为innerHTML属性只能插入字符串作为HTML,无法解析其中的样式。解决方法包括使用style标签、外部CSS文件或CSS-in-JS库来应用SASS样式。
领取专属 10元无门槛券
手把手带您无忧上云