从 Tumblr 中删除默认 "Source:"

Remove default "Source:" from Tumblr

我想停止在我的帖子底部显示默认的 Tumblr“(来源:_____)”。我尝试插入代码和 this tread 中的 jQuery,但它不起作用。

我可以用一堆CSS代码来隐藏它,但我想要一种更稳定的方法来隐藏它们。任何人都知道如何?我联系了 Tumblr,但他们没有帮助。

这是它的工作方式:

如果您有类似的东西(或 link 中的 source 图片);

{block:ContentSource} <a class="post_source" href="{SourceURL}" title="Source: {SourceTitle}" target="_blank"> Source </a> {/block:ContentSource}

您可以随心所欲地在任何地方显示源代码,也可以隐藏它,嗯 CSS; .post_source { display: none }

如果你没有像上面那样的东西,Tumblr 会在某些情况下显示 link(如 (Source: Source Title))内部的 post(其他所有内容下方) , 它并不总是在你的控制之下。

如果这不起作用,很可能是有其他东西破坏或覆盖了您的规则。检查并告诉我。总有选择。

更新:

如果你确实看到 "Source" 两次,那就是你把它放的地方和 Tumblr 附加在一些 post 下的那个,我很确定其他地方有问题,我可以想象不到什么,因为你没有 post 任何代码。
你可以使用 JavaScript 来隐藏它(如果你觉得它比你的 HTML 和 CSS 解决方案更好。我不确定你是怎么做的,我知道没有比使用 JavaScript 检查里面的内容更好的解决方案了。):

在使用的代码中,我假设您将所有标题、文本 post body 等放在带有 class .text 的元素中。将其更改为您的选择器。

var elem = document.querySelectorAll(".text"), elemCont, i;
for (i = 0; i < elem.length; i += 1) { 
    elemCont = elem[i].lastElementChild.innerHTML.toLowerCase();
    if (elemCont.indexOf("(source:") === 0) {
        elem[i].lastElementChild.style.display = "none";
    }
}

我相信什么;不要使用任何您不理解的代码。 所以解释(以防万一你看起来不熟悉):

  • 变量elem选择所有带有class.text的元素。
  • for loop 一个接一个地循环遍历所有选定的元素,直到我们到达最后一个元素。
  • 变量elemCont等于;所选元素.text.
  • 的"last child (that is an element)"的小写(避免以后匹配时发生冲突)
  • 这里的 [i] 是 index(0 或 1 或 2...)。一次选择一个元素。
  • 然后使用 if 语句,算法检查 elemCont(所选元素的最后一个 child 或本例中的段落中的内容)是否以 (source: 开头.如果为真,则算法将所选元素样式的最后 child 设置为 display: "none".
  • 瞧,现在它们都被隐藏了。