当我使用以下代码时,它工作正常:
<script>
$(document).ready(function() {
$('#article-sidebar-tabbed-archive-gadget').prepend('<nav></nav>');
});
</script>
但是,如果我使用任何类型的引号,则会收到以下错误:
Uncaught SyntaxError: missing ) after argument list
导致错误的代码示例:
<script>
$(document).ready(function() {
$('#article-sidebar-tabbed-archive-gadget').prepend('<nav><a href="#">Tags</a></nav>');
});
</script>
导致错误的原因以及如何修复它?
最佳答案
除非代码位于 HTML/Javascript 小部件内或帖子内,否则请尝试如下:
<script>
// <![CDATA[
$(document).ready(function() {
$('#article-sidebar-tabbed-archive-gadget').prepend('<nav><a href="#">Tags</a></nav>');
});
// ]]>
</script>
原因是 Blogger 有办法弄乱一些 javascript 编码,除非您将其包装在 CDATA 中。 为了让我了解这一点,我进行了一些尝试。 或者也许您只需要像这样转义所有 a 元素:
无论如何,我在一篇新的博文中测试了您的代码,它工作得很好。所以,如果我不得不猜测,我提到的解决方案应该有效......
关于带引号的 Javascript 导致 Blogger 模板中缺少参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57700489/