Javascript find-and-replace 需要更正的代码
Javascript find-and-replace code in need of correction
包含在网站 header 中的以下代码包含错误。我认为代码的意图很明确,但是它包含语法 and/or 其他错误?请更正。
编辑 2:完整的最小示例 (js fiddle: https://jsfiddle.net/g1u2p36k/):
<html>
<head>
<script language="javascript">
function walkText(node) {
if (node.nodeType == 3) {
node.data = node.data.replace(/"Ashen Glow Gaming"/gi, "<span style=\"font-color: red;\">a<span style=\"color: blue\">shen</span> g<span style=\"color: blue\">low</span> g<span style=\"color: blue\">aming</span></span>");
}
if (node.nodeType == 1 && node.nodeName != "SCRIPT") {
for (var i = 0; i < node.childNodes.length; i++) {
walkText(node.childNodes[i]);
}
}
}
walkText(document.body);
</script>
</head>
<body>
blah blah Ashen Glow Gaming <a href="https://www.ashenglowgaming.com" class="Ashen Glow Gaming">an ashen glow gaming link</a> blah blah
</body>
</html>
这会导致字符串 "Ashen Glow Gaming" 的所有实例在文本中被替换为特殊格式的版本:
编辑:JSLint 确定了 Expected '\s' and instead saw ' '.
的 2 个实例和 Expected '/'.
的一个实例:
您没有转义引号内的引号。
node.data = node.data.replace(/"Ashen Glow Gaming"/gi, "<span style=\"font-family: elektora;\">a<span style=\"font-size: 80%\">shen</span> g<span style=\"font-size: 80%\">low</span> g<span style=\"font-size: 80%\">aming</span></span>");
包含在网站 header 中的以下代码包含错误。我认为代码的意图很明确,但是它包含语法 and/or 其他错误?请更正。
编辑 2:完整的最小示例 (js fiddle: https://jsfiddle.net/g1u2p36k/):
<html>
<head>
<script language="javascript">
function walkText(node) {
if (node.nodeType == 3) {
node.data = node.data.replace(/"Ashen Glow Gaming"/gi, "<span style=\"font-color: red;\">a<span style=\"color: blue\">shen</span> g<span style=\"color: blue\">low</span> g<span style=\"color: blue\">aming</span></span>");
}
if (node.nodeType == 1 && node.nodeName != "SCRIPT") {
for (var i = 0; i < node.childNodes.length; i++) {
walkText(node.childNodes[i]);
}
}
}
walkText(document.body);
</script>
</head>
<body>
blah blah Ashen Glow Gaming <a href="https://www.ashenglowgaming.com" class="Ashen Glow Gaming">an ashen glow gaming link</a> blah blah
</body>
</html>
这会导致字符串 "Ashen Glow Gaming" 的所有实例在文本中被替换为特殊格式的版本:
编辑:JSLint 确定了 Expected '\s' and instead saw ' '.
的 2 个实例和 Expected '/'.
的一个实例:
您没有转义引号内的引号。
node.data = node.data.replace(/"Ashen Glow Gaming"/gi, "<span style=\"font-family: elektora;\">a<span style=\"font-size: 80%\">shen</span> g<span style=\"font-size: 80%\">low</span> g<span style=\"font-size: 80%\">aming</span></span>");