javascript - 将 html 注入(inject)现有页面而不受 css 影响

标签 javascript jquery css html

我需要在现有页面中注入(inject)一些 html 内容,而不受页面 css 的影响

我搜索并找到了一个叫做 shadow dom 的东西

当我尝试应用解决方案时,发生了错误

<script type="text/javascript">
        var host = document.querySelector('#content');

        var shadowRoot = host.createShadowRoot();

    </script>

Uncaught TypeError: Cannot read property 'createShadowRoot' of null

最佳答案

Element.createShadowRoot() 已被弃用,取而代之的是 Element.attachShadow()

您可以使用:

// Get content
var content = document.querySelector('#content');

// Create shadow root
var shadow = content.attachShadow({mode: 'open'});

// Create text node
var text = document.createElement('span');
text.textContent = "hello";

// Append it to the shadow root
shadow.appendChild(text);

关于javascript - 将 html 注入(inject)现有页面而不受 css 影响,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51013558/

相关文章:

javascript - 输入超过最大宽度时动态扩展文本区域的高度

javascript - 您可以在 javascript 中使用模板文字创建对象属性名称吗?

jquery - jQuery分别用类计算div的长度

Javascript 函数在 Firefox 中运行多次,但在 Chrome 中运行一次,为什么?

html - 在 django 中使用 ajax 搜索结果

html - 粘性标题滚动 + 窗口大小

javascript - 在另一个可观察值之后使用 fork join 的更好方法

javascript - 每次单击按钮时将参数保存在数组中

javascript - 如何将 Vue 文件的脚本部分分离到另一个文件?

html - 旋转和位置 :absolute (IE8 and lower)