我有一个如下所示的Adsense代码段,我想仅将其包含在body
标记class
"category"
(body class="category"
)的网页上想要在名为div
test
(.test)
之前放置它
为此,我正在考虑使用:
if ($("body").hasClass("category")) {
}
但是,我是一个JS新手,我遇到了两件事:
div
调用test之前显示adsense块(下面的代码)
(.test
)class
,我需要这个adsense
代码从页面中消失。这是adsense的代码
<script async src="//pagead2.googlesyndication.com/pagead/js/adsbygoogle.js"></script>
<ins class="adsbygoogle"
style="display:block"
data-ad-client="ca-pub-641651684125955"
data-ad-slot="84616945153"
data-ad-format="auto"></ins>
<script>
(adsbygoogle = window.adsbygoogle || []).push({});
</script>
我不是母语为英语的人,但我试图以最好的方式解释它。
答案 0 :(得分:3)
试试这个
我正在使用ins
if ($("body")[0].className=="category") {
$(".test").before(`<ins class="adsbygoogle"
style="display:block"
data-ad-client="ca-pub-641651684125955"
data-ad-slot="84616945153"
data-ad-format="auto"></ins>`);
var s = document.createElement("script");
s.type = "text/javascript";
s.src = location.protocol+"//pagead2.googlesyndication.com/pagead/js/adsbygoogle.js";
$("head").append(s);
(adsbygoogle = window.adsbygoogle || []).push({});
});
代码
我测试了类语句中只有一个类“category”而没有其他类 - 你也可以使用classList并计算它们
DialogueManager
答案 1 :(得分:0)
这应该是解决方案。
if ($("body").hasClass("category")) {
$(".test").before(' <script async src="//pagead2.googlesyndication.com/pagead/js/adsbygoogle.js"></script> ' +
'<ins class="adsbygoogle" ' +
'style="display:block" ' +
'data-ad-client="ca-pub-641651684125955" ' +
'data-ad-slot="84616945153" ' +
'data-ad-format="auto"></ins> ' +
'<script> ' +
'(adsbygoogle = window.adsbygoogle || []).push({}); ' +
</script>');
}
如果您希望在给定class
出现时阻止此操作,但还有另一个class
,请更改您的if
:
if (document.getElementsByTagName("body")[0].class === "category") {
//...
}