Автоматическая вставка тега в Blogger - PullRequest
0 голосов
/ 14 июля 2020

Я пытаюсь использовать jquery для автоматической вставки тега «Последнее сообщение» в каждое сообщение, опубликованное «сегодня».

Вот код, который я ввел мой блоггер прямо перед </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 Ответ

0 голосов
/ 14 июля 2020

Основные идеи того, как это сделать:

  1. Используйте $(document).ready(function() { ... } для управления страницей. Если не использовать, страница могла не быть загружена и манипуляция завершилась неудачей.
  2. Date.getMonth отсчитывается от нуля (например, январь представлен 0, а июль - 6. При сравнении с сообщением в блоге date, вам нужно добавить к нему 1.
  3. Вам нужно решить для каждого сообщения в блоге, должен ли он иметь «последний» тег. Итак, вам нужен какой-то l oop, который проверяет дату для каждого сообщение в блоге, а затем добавляет тег только для этого сообщения. В jQuery используйте $(<parent element>).find("<sub element selector>"), чтобы выбрать дочерний элемент указанного c родителя.

Я протестировал следующий код на вашем блог:

$(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>
...