javascript - 使用 chrome 扩展更改 div 中的样式表

标签 javascript css google-chrome-extension

使用 chrome 扩展程序,我想更改与单个 div 关联的样式表。

例如,当前页面看起来像:

<div id="footer">
<link rel="stylesheet" type="text/css" href="linktostylesheet.css">
...
</div>

我不想使用那个样式表,而是插入我自己的样式表:

<div id="footer">
<link rel="stylesheet" type="text/css" href="link to my new stylesheet.css">
...
</div>

我对这种类型的编程有点迷茫。到目前为止,我的内容脚本中有以下代码片段,但我认为我的想法不正确。

d = document.getElementById("footer").getContentDocument();
d.styleSheets[d.styleSheets.length].href = 'newstylesheet.css';

最佳答案

<link>元素应该是 <head> 的子元素元素。您可以选择 link元素的起始值为 href属性,设置 href元素到新值。

document.querySelector("link[href^=linktostylesheet]").href = "newstylesheet.css";

关于javascript - 使用 chrome 扩展更改 div 中的样式表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42050197/

相关文章:

javascript - 有没有办法在滚动条上放置标记?

javascript - popup.js 何时启动?

javascript - 像 "React developer tools"这样的扩展是如何工作的?

php - 自定义跨域度量跟踪系统在 php 中的实现

JavaScript eval() 与 `this`

css - 如何使用 Angular json 模式表单创建多个表单选项卡?

javascript - WebPack + WebExtensions/Chrome 扩展 - getBackground() 不工作

javascript - IE9 中的 getComputedStyle 是否总是返回像素值?

javascript - 添加新列表项时,我创建的切换功能不起作用

css - 字体不工作