javascript - 为什么 Prism 语法高亮器会在 CSS 类前面添加一个空格?

标签 javascript html css

我正在使用来自 http://prismjs.com 的 Prism 语法荧光笔

如果我做类似的事情

<!DOCTYPE html>
<html>
    <head>
        <link rel="stylesheet" type="text/css" href="prism.css">
        <script type="text/javascript" src="prism.js"></script>
    </head>
    <body>
        <pre>
            <code class="language-css">
p { color: blue }
            </code>
        </pre>
    </body>
</html>

我在 Chrome 开发者工具中看到以下结果:

<html>
    <head>
        <link rel="stylesheet" type="text/css" href="prism.css">
        <script type="text/javascript" src="prism.js"></script>
    </head>
    <body>
        <pre class=" language-css">
            <code class=" language-css">
                <span class="token selector">p</span> <span class="token punctuation">{</span> <span class="token property">color</span><span class="token punctuation">:</span> blue <span class="token punctuation">}</span>
            </code>
        </pre>
    </body>
</html>

我知道 Prism 将 language-css 类添加到 pre 标签中。但是前导空格 ("language-css") 从何而来?

最佳答案

它可能只是执行 element.className += "language-css" 这样如果元素上已经有一个类(比如 "foo"),它以 foo language-css 而不是 foolanguage-css 结束。由于空格是无害的,因此在 classList 支持良好之前这很常见。

关于javascript - 为什么 Prism 语法高亮器会在 CSS 类前面添加一个空格?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41058402/

相关文章:

javascript - jQuery 检查 localStorage 以及如果为空/null 则刷新元素

javascript - jquery 为什么 body 点击不起作用?

javascript - 从网络应用程序捕获照片、音频和视频

css - 导航栏切换器按钮不显示?

html - 如何打印到HTML模板

javascript - jQuery - 另一个选择器中的选择器 - 传入的变量失去其值并成为索引器?

html - 页眉中的递增数字导致页面滚动时出现微卡顿

html - 我无法在 css 中设置任何 html/jsx 标签的样式,因为它说 'h1 "选择器“不纯”

html - 是否可以剪辑表格列?

php - 链接到外部样式表未运行