从Tumblr中删除默认的“Source:”

时间:2015-10-17 19:32:55

标签: tumblr

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

我可以使用一堆CSS代码隐藏它,但我想要一种更稳定的方法来隐藏它们。谁知道怎么样?我联系了Tumblr,但他们没有帮助。

1 个答案:

答案 0 :(得分:0)

这是它的工作方式:

如果您有类似的内容(或链接中的source图片);

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

你可以随心所欲地显示你想要的来源,你可以通过CSS隐藏它; .post_source { display: none }

如果您没有上述内容,Tumblr将在帖子内部显示源链接(如(Source: Source Title))(在其他所有内容之下),在某些情况下,它并不总是在您的控制范围内。 / p>

如果这不起作用,很可能还有一些其他因素会破坏或覆盖您的规则。检查并告诉我。总有选择。

<强>更新

如果你确实看到了两次“来源”,那就是你放置它的地方和一个Tumblr附加在一些帖子下面,我很确定某些地方出了别的错误,我无法想象,因为你没有发布任何代码。
你可以使用JavaScript来隐藏它(如果你看起来比你的HTML和CSS解决方案更好。我不确定你是怎么做的,我没有看到比使用JavaScript检查内容更好的解决方案。):

在使用的代码中,我假设您在类.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选择具有类.text的所有元素。
  • for loop一个接一个地遍历所有选定的元素,直到我们到达最后一个元素。
  • 变量elemCont等于;所选元素.text的“最后一个子元素(即元素)”的小写“内部HTML”(以避免以后匹配时发生冲突)。
  • 这里[i]是index(0或1或2 ......)。一次选择一个元素。
  • 然后使用if语句,算法会检查elemCont(所选元素的最后一个子节点内的内容,或本例中的段落)是否以(source:开头。如果为true,则算法将所选元素样式的最后一个子项设置为display: "none"
  • Voilà现在他们都被隐藏了。