我编写了一个作为语法荧光笔的程序。剩下的唯一问题是语言应该将 * 符号指定为注释,如果它们出现在每行的开头。但是,如果它们出现在任何其他字符之后,则它们被视为乘法运算符而不是注释符号。
代码以 标记编写。因此,程序必须检查div的内容,如果以 * 开头,则更改每行的颜色。这真的让我感到烦恼,所以任何帮助都会受到赞赏。
例如,假设我有以下代码块:
<div>
This is some code
* This is a comment
notComment = 10 * 10
</div>
在此示例中,第二行应转向注释,而第三行不是注释。
如果每行代码都以单独的<div>
标记开头,那么解决方案很简单。但由于每个标记都可以包含一大块代码,因此会变得很麻烦。
答案 0 :(得分:2)
这样的事情:
const elements = document.querySelectorAll('div');
[...elements].forEach(el => {
if (el.textContent.startsWith('*')) {
el.classList.add('comment');
}
});
&#13;
.comment {
color: lightgray;
}
&#13;
<div>Line 1</div>
<div>Line 2</div>
<div>* Line 3</div>
<div>* Line 4</div>
<div>Line * 5</div>
&#13;