从 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"
.
- 瞧,现在它们都被隐藏了。
我想停止在我的帖子底部显示默认的 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"
. - 瞧,现在它们都被隐藏了。