如果我做的话
<!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"
)来自哪里?
答案 0 :(得分:2)
它可能只是element.className += " language-css"
,所以如果元素上已有类(如"foo"
),则最终会以foo language-css
而不是foolanguage-css
结束。由于空间是无害的,所以在classList
支持良好之前这是相当普遍的。