在 Blogger 中自动插入标签

Auto Insert Tag in Blogger

我正在尝试使用 jquery 自动将“最新 Post”标签插入“今天”发布的每个 post。

这是我在 my blogger 之前 </head> 中输入的代码:

<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.5.1/jquery.min.js"></script>
<script>
<![CDATA[
    var today = new Date();
    var date = today.getMonth() + "/" + today.getDate() + "/" + today.getFullYear();
    var x = document.getElementsByTagName("abbr").innerHTML;
    var NewIn = "\",\"<a href="https://fgzone4us.blogspot.com/search/label/Latest%20Post" rel="tag">Latest Post</a>"
    if (date === x){
        $(span.post-labels).append(NewIn);
    }  
]]> 

</script>

我做了一些搜索并尽力将代码放在一起。但是,它不起作用,我不知道哪些步骤是错误的。希望有人能帮助我,因为我不是很擅长编码。

提前致谢。


@aax 感谢您的帮助,我仍在尝试,但就是行不通。

关于如何进行这项工作的主要想法:

  1. 使用$(document).ready(function() { ... }操作页面。如果不使用,页面可能尚未加载并且操作失败。
  2. Date.getMonth是从0开始的(比如1月用0表示,7月用6表示。和博客post日期比较时需要加1。
  3. 您需要决定每个博客 post 是否应该有“最新”标签。所以你需要某种循环来检查每个博客 post 的日期,然后只为这个 post 添加标签。在 jQuery 中,使用 $(<parent element>).find("<sub element selector>") 到 select 特定父元素的子元素。

我在你的博客上测试了以下代码:

$(document).ready(function() {
    var today = new Date();
    var date = (today.getMonth() + 1) + "/" + today.getDate() + "/" + today.getFullYear();
    var newIn = $.parseHTML(', <a href="https://fgzone4us.blogspot.com/search/label/Latest%20Post" rel="tag">Latest Post</a>')

    $("div.post").each(function() {
       if ($(this).find("a.timestamp-link abbr").text() === date) {
           $(this).find("span.post-labels").append(newIn);
       }
    });
});

根据 https://www.w3schools.com/tags/tag_script.asp,脚本标签通常应如下所示:

<script type="text/javascript">
//<![CDATA[

...

//]]>
</script>