是否可以在没有选择器的情况下替换文本?
Is it possible to replace text without selector?
我使用 javascript 将 markdown 转换为 html。
如果我在markdown中添加<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>
是否可以通过内容替换?
您的问题的答案是,您可以使用 replace
方法将 HTML 中的字符串替换为另一个字符串。
document.body.innerHTML = document.body.innerHTML.replace('I_am_an_identifier', '<span id="printHello"></span>');
请注意,这将替换 I_am_an_identifier
的第一个实例,包括 HTML 代码中的任何实例(例如 class 名称等),因此请谨慎使用。
要替换目标字符串的所有实例,请使用带有全局标志的简单正则表达式:
document.body.innerHTML = document.body.innerHTML.replace(/I_am_an_identifier/g, '<span id="printHello"></span>');
Javascript 有标签
幸运的是,您可以以 JavaScript Label[ 的形式使用 identifier 关键字(假设您选择了 "printHello" ) =21=]:
<pre><code>var abc = true;
printHello:
var def = false;
</code></pre>
你可以找到并用你喜欢的任何东西替换它。
我使用 javascript 将 markdown 转换为 html。
如果我在markdown中添加<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>
是否可以通过内容替换?
您的问题的答案是,您可以使用 replace
方法将 HTML 中的字符串替换为另一个字符串。
document.body.innerHTML = document.body.innerHTML.replace('I_am_an_identifier', '<span id="printHello"></span>');
请注意,这将替换 I_am_an_identifier
的第一个实例,包括 HTML 代码中的任何实例(例如 class 名称等),因此请谨慎使用。
要替换目标字符串的所有实例,请使用带有全局标志的简单正则表达式:
document.body.innerHTML = document.body.innerHTML.replace(/I_am_an_identifier/g, '<span id="printHello"></span>');
Javascript 有标签
幸运的是,您可以以 JavaScript Label[ 的形式使用 identifier 关键字(假设您选择了 "printHello" ) =21=]:
<pre><code>var abc = true;
printHello:
var def = false;
</code></pre>
你可以找到并用你喜欢的任何东西替换它。