使用 JavaScript 突出显示代码示例中的语法
Using javascript to highlight syntax in code examples.
所以,我正在寻找如何做一些类似于Stackoverflow的代码的事情:
例如,"var"是彩色的,而"test"不是
var test
我将如何编写一个 JavaScript 函数来做到这一点?
这就是我尝试过的
if ("var") {
document.getElementByTagName("code").style.color="purple";
}
因此,当文本"var"位于"代码"元素中时,它会变成"var"紫色。
我会将变量名称包装在一个范围内
<code>
var <span class="variable-name">test</span>
</code>
然后只对跨度进行着色,jQuery使这更容易
$('code span.variable-name').css('color', 'purple');
但是,也有语法突出显示库可以使整个事情变得更容易,因为它在很大程度上是一个已解决的问题:)这是一个例子
这是一种快速而肮脏(强调肮脏)的方法,如果出现以下情况,请使用正则表达式替换:
- 你不关心实际解析语法
- 您知道代码元素只包含干净的文本,没有子标记
如果是这样,您可以执行以下操作:
var els = document.getElementsByTagName('code'),
code;
for (var i = 0; i < els.length; i++) {
code = els[i].innerHTML;
els[i].innerHTML = code.replace(
/'bvar'b/g,
'<span style="color: #f00;">var</span>'
);
}
是的,最好使用类而不是内联样式,但是看到不遵循上述两点也是不好的做法,这只是为了举例说明。
查看演示
HTML 和 js 元素
<div>
var test;
</div>
<script>
var varText = $( "div" ).text().split( " " ).join( "</span> <span>" );
newText = "<span>" + varText + "</span>";
$( "div" )
.html( varText )
.find( "span" )
.end()
.find( ":contains('var')" )
.css({
"color": "purple",
});
相关文章:
- 为什么忽略了eval()代码中的语法错误
- javascript在代码背后的语法
- JQuery代码语法问题?(“不允许内联控制结构”)
- 在代码中找不到语法错误
- 这是来自我的代码还是角度库的 $parse:语法错误
- JavaScript中的逗号运算符:应为语法错误,但代码运行正常
- 解析云代码geoPoint查询Javascript语法
- 这段代码的语法是什么
- 为什么这个 js 代码段中的“=”语法不正确
- 在单元测试中实现逻辑,以缩短语法并提高测试代码的可重用性
- 代码隐藏中DIV的语法错误
- 在node.js中,如何以最轻量级的方式检查给定的代码字符串在语法上是否正确
- 文本处理-识别代码语法
- 如何在Visual Studio代码中恢复Javascript语法错误检测
- 在下面的 Angular Material 代码中了解此延迟语法及其用途
- jQuery “$.ajax” 代码不起作用,语法错误
- 在文本区域中实现 HTML 语法突出显示以编写代码
- 将语法代码插入“
”元素时,ckeditor 会自动关闭标记
- Grunt服务,如何在更改文件中的代码后禁用语法代码检查
- 使用Javascript突出显示语法代码