我是新来的,对不起,如果我对这个问题做错了。我厌倦了尝试,如果使用javascript(没有jquery)隐藏类,如何将类添加到id。这是我到目前为止所尝试的内容。
function hidekeep() {
document.getElementById("keep-ads").style.display = "none"
}
setTimeout(function () {
var e = document.getElementById("keep-ads"),
t = document.getElementsByClassName("adsbygoogle");
if(t.style.display = "none") {
e.className += "up";
}
}, 2e3);

.up {color:red;}
.adsbygoogle {display:none}

<div id="keep-ads">Foo1
</div>
<div class="adsbygoogle">Bar1
</div>
&#13;
答案 0 :(得分:0)
document.getElementsByClassName
返回一个集合对象,而不是单个元素(如document.getElementById
那样)。因此,当您检查t.style
时,它不在那里。你会想要更像的东西:
document.getElementsByClassName("adsbygoogle").forEach(function(t) {
if (t.style.display === 'none') e.className += 'up';
});
答案 1 :(得分:0)
在javascript中,=
是一个赋值运算符,其中==
是一个比较运算。
所以将你的集团改为:
setTimeout(function () {
var e = document.getElementById("keep-ads"),
t = document.getElementsByClassName("adsbygoogle")[0]; // assuming there's just one element with the given class name
if(t.style.display == "none") { // changed here
e.className += "up";
}
}, 2e3);
<强>更新强>
如果使用javascript隐藏类,如何将类添加到id
使用element.style.display = 'none';
隐藏元素并阅读元素的style.display
属性。
function hidekeep() {
document.getElementById("keep-ads").style.display = "none"
}
setTimeout(function () {
var e = document.getElementById("keep-ads"),
t = document.getElementsByClassName("adsbygoogle")[0]; // assuming there's just one element with the given class name
if(t.style.display == 'none') { // changed here
e.className += "up";
}
}, 2e3);
var hideBar1 = function() {
document.getElementsByClassName("adsbygoogle")[0].style.display = 'none';
};
document.getElementsByClassName("hide-ads")[0].addEventListener('click', hideBar1 , false);
&#13;
.up {color:red;}
&#13;
<div id="keep-ads">Foo1
</div>
<div class="adsbygoogle">Bar1
</div>
<button class="hide-ads">
HIDE
</button>
&#13;