<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
<link rel="stylesheet" href="style1.css" type="text/css">
<style>
.mm{
color:coral;
font-size:22px;
}
#pp{
border:1px solid springgreen;
}
</style>
</head>
<body>
<p style="color:yellowgreen; font-size:12px;">我愿像个天使守护你</p>
<p class="mm">生则同衾死则同穴</p>
<p class="ee">化为孤岛的鲸</p>
<button id="pp">点我呀</button>
<p id="demo"></p>
<script>
document.getElementById("demo").innerHTML=document.styleSheets[0].cssRules[0].cssText;
//return CssStyleDeclaration.html:45 Uncaught DOMException: Failed to read the //'cssRules' property from 'CSSStyleSheet': Cannot access rules at...
</script>
</body>
link引入的style1.css:
.ee{
color:rgb(48, 45, 182);
font-family: 'Franklin Gothic Medium', 'Arial Narrow', Arial, sans-serif;
}无法用styleSheets[0].cssRules[0].cssText返回外链式的样式表?
- 写回答
- 好问题 0 提建议
- 关注问题
- 邀请回答
-
1条回答 默认 最新
lshen01 2023-03-16 16:31关注参考GPT和自己的思路:
根据你提供的代码,可能是因为外链式的样式表是以 link 标签的形式引入的,而内嵌式的样式表是以 style 标签的形式写在了 head 中。因此,JavaScript 访问不到外链式的样式表中的样式规则,而访问到的第一个样式规则就是在 style 标签内的规则,即
.mm。可以尝试使用 getComputedStyle() 方法获取元素最后应用的样式,如下:const button = document.getElementById("pp"); const buttonStyle = window.getComputedStyle(button); document.getElementById("demo").innerHTML = buttonStyle.getPropertyValue("border");这段代码将获取按钮元素的样式(包括外链式和内嵌式的样式),并返回它的边框样式。
解决 无用评论 打赏 举报