我使用javascript将markdown转换为html。
如果我将<span id="printHello></span>
添加到降价处,转换后,我仍然可以使用getElementById()
来获取引用。但是,有一个例外:
var abc = true;
<span id="printHello></span>
var def = false;
如果在代码块中添加了标记,它将在转换过程中被转义。我再也无法得到这个元素了。
所以我在想是否可以添加标识符文本,在markdown转换为html后替换标识符文本。像这样:
var abc = true;
I_am_an_identifier
var def = false;
转换后,我明白了:
<pre><code>var abc = true;
I_am_an_identifier
var def = false;
</code></pre>
所以我可以将I_am_an_identifier
替换为<span id="printHello></span>
是否可以通过内容替换?
答案 0 :(得分:0)
您的问题的答案是,您可以使用replace
方法将HTML中的字符串替换为其他字符串。
document.body.innerHTML = document.body.innerHTML.replace('I_am_an_identifier', '<span id="printHello"></span>');
请注意,这将替换I_am_an_identifier
的第一个实例,包括HTML代码中的任何实例(例如类名等),因此请谨慎使用。
要替换目标字符串的所有实例,请使用带有全局标志的简单正则表达式:
document.body.innerHTML = document.body.innerHTML.replace(/I_am_an_identifier/g, '<span id="printHello"></span>');
答案 1 :(得分:0)
Javascript包含标签
幸运的是,您可以使用您的标识符关键字(假设您选择&#34; printHello&#34;)以JavaScript 标签的形式:
<pre><code>var abc = true;
printHello:
var def = false;
</code></pre>
比你能找到并用你喜欢的任何东西替换它。