我想停止显示在帖子底部的默认Tumblr“(来源:_____)”。我尝试从this tread插入代码和jQuery,但它不起作用。
我可以使用一堆CSS代码隐藏它,但我想要一种更稳定的方法来隐藏它们。谁知道怎么样?我联系了Tumblr,但他们没有帮助。
答案 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”(以避免以后匹配时发生冲突)。index
(0或1或2 ......)。一次选择一个元素。if
语句,算法会检查elemCont
(所选元素的最后一个子节点内的内容,或本例中的段落)是否以(source:
开头。如果为true,则算法将所选元素样式的最后一个子项设置为display: "none"
。